mirror of
https://github.com/MarshalX/telegram-crawler.git
synced 2025-01-16 22:53:12 +01:00
Update content of files
This commit is contained in:
parent
8a15e97dd8
commit
286520cb40
36 changed files with 0 additions and 7316 deletions
|
@ -1,115 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Nope</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Deprecated old docs. This was definitely not the droid you were looking for.">
|
||||
<meta property="og:title" content="Nope">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Deprecated old docs. This was definitely not the droid you were looking for.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/api/geochats" >Nope</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Nope</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Deprecated old docs. This was definitely not the droid you were looking for.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,133 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Requests </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Let's consider several typical interaction scenarios for two users.
|
||||
One user knows the other's number
|
||||
User A knows phone…">
|
||||
<meta property="og:title" content="Requests ">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Let's consider several typical interaction scenarios for two users.
|
||||
One user knows the other's number
|
||||
User A knows phone…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/api/requests" >Requests </a></li></ul></div>
|
||||
<h1 id="dev_page_title">Requests </h1>
|
||||
|
||||
<div id="dev_page_content"><p>Let's consider several typical interaction scenarios for two users.</p>
|
||||
<h4><a class="anchor" href="#one-user-knows-the-others-number" id="one-user-knows-the-others-number"><i class="anchor-icon"></i></a>One user knows the other's number</h4>
|
||||
<p>User A knows phone number of B (for instance, A has B's number in the phone book). But B does not know А's number. User A sends message to B. Immediately prior to sending a message relevant check is executed at the server side and the link between A and B will change automatically: A's number becomes available for B (user A is then presented as constructor <a href="/constructor/userRequest">userRequest</a>).
|
||||
The same happens if user B not having A's number sends a message to the latter. A's number also becomes available to B.</p>
|
||||
<h4><a class="anchor" href="#users-do-not-know-numbers-of-each-other" id="users-do-not-know-numbers-of-each-other"><i class="anchor-icon"></i></a>Users do not know numbers of each other</h4>
|
||||
<p>User A has found user B in a chat, geochat or any other way. For both of them phone numbers are not available (in API - constructor <a href="/constructor/userForeign">userForeign</a>). A starts chat with B. When messaging A's number will not become available for B and vice versa. To provide B with A's number it is necessary to send him personal message with contact info (phone number should be transferred in constructor <a href="/constructor/inputMediaContact">inputMediaContact</a> using method <a href="/method/messages.sendMedia">messages.sendMedia</a>).
|
||||
Now B having personal message with A's phone number can store it in his phone book and import it using method <a href="/method/contacts.importContacts">contacts.importContacts</a> to have it in contacts. With all that, it is not mandatory for him to send his number: after any message later between them B's number will be available for A (see <a href="#nomer-odnogo-iz-sobesednikov-izvesten-drugomu">One user knows the other's number</a>).</p>
|
||||
<h4><a class="anchor" href="#both-user-know-each-other-number" id="both-user-know-each-other-number"><i class="anchor-icon"></i></a>Both user know each other number</h4>
|
||||
<p>This is quite obvious: messaging does not change links since target state has been reached.</p>
|
||||
<h3><a class="anchor" href="#technical-features" id="technical-features"><i class="anchor-icon"></i></a>Technical features</h3>
|
||||
<p>Since when sending messages to a current user updates on changed links are not sent constructors containing updated links were added to resulting types of messaging methods:</p>
|
||||
<pre><code><a href='/constructor/messages.statedMessagesLinks'>messages.statedMessagesLinks</a> messages:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Message'>Message</a>> chats:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Chat'>Chat</a>> users:<a href='/type/Vector%20t'>Vector</a><<a href='/type/User'>User</a>> links:<a href='/type/Vector%20t'>Vector</a><<a href='/type/contacts.Link'>contacts.Link</a>> pts:<a href='/type/int'>int</a> seq:<a href='/type/int'>int</a> = <a href='/type/messages.StatedMessages'>messages.StatedMessages</a>;
|
||||
<a href='/constructor/messages.statedMessageLink'>messages.statedMessageLink</a> message:<a href='/type/Message'>Message</a> chats:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Chat'>Chat</a>> users:<a href='/type/Vector%20t'>Vector</a><<a href='/type/User'>User</a>> links:<a href='/type/Vector%20t'>Vector</a><<a href='/type/contacts.Link'>contacts.Link</a>> pts:<a href='/type/int'>int</a> seq:<a href='/type/int'>int</a> = <a href='/type/messages.StatedMessage'>messages.StatedMessage</a>;
|
||||
<a href='/constructor/messages.sentMessageLink'>messages.sentMessageLink</a> id:<a href='/type/int'>int</a> date:<a href='/type/int'>int</a> pts:<a href='/type/int'>int</a> seq:<a href='/type/int'>int</a> links:<a href='/type/Vector%20t'>Vector</a><<a href='/type/contacts.Link'>contacts.Link</a>> = <a href='/type/messages.SentMessage'>messages.SentMessage</a>;</code></pre>
|
||||
<p>To indicate for clients that these constructors are supported one should use <a href="/api/layers#3y-sloy">3rd layer</a>.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,161 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>account.sentChangePhoneCode</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Sent change phone code
|
||||
Parameters
|
||||
phone_code_hash
|
||||
string
|
||||
Change phone code hash
|
||||
send_call_timeout
|
||||
int
|
||||
Call timeout
|
||||
Type…">
|
||||
<meta property="og:title" content="account.sentChangePhoneCode">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Sent change phone code
|
||||
Parameters
|
||||
phone_code_hash
|
||||
string
|
||||
Change phone code hash
|
||||
send_call_timeout
|
||||
int
|
||||
Call timeout
|
||||
Type…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/account.sentChangePhoneCode" >account.sentChangePhoneCode</a></li></ul></div>
|
||||
<h1 id="dev_page_title">account.sentChangePhoneCode</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Sent change phone code</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 50. <a href="?layer=50">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>phone_code_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Change phone code hash</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>send_call_timeout</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Call timeout</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/account.SentChangePhoneCode">account.SentChangePhoneCode</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>auth.sentAppCode</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Contains info on a confirmation code message sent via Telegram.">
|
||||
<meta property="og:title" content="auth.sentAppCode">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Contains info on a confirmation code message sent via Telegram.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/auth.sentAppCode" >auth.sentAppCode</a></li></ul></div>
|
||||
<h1 id="dev_page_title">auth.sentAppCode</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Contains info on a confirmation code message sent via Telegram.</p>
|
||||
<p>You can force resending the message via SMS by invoking the method <a href="/method/auth.sendSms">auth.sendSms</a>.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 50. <a href="?layer=50">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>phone_registered</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Bool">Bool</a></td>
|
||||
<td>The given number corresponds to a registered Telegram user</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>phone_code_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Message identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>send_call_timeout</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Delay in seconds before calling <a href="/method/auth.sendCall">auth.sendCall</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>is_password</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Bool">Bool</a></td>
|
||||
<td>The sent code is a text password</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/auth.SentCode">auth.SentCode</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>disabledFeature</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="A disabled feature
|
||||
Parameters
|
||||
feature
|
||||
string
|
||||
The feature that was disabled
|
||||
description
|
||||
string
|
||||
Description
|
||||
Type
|
||||
DisabledFeature">
|
||||
<meta property="og:title" content="disabledFeature">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="A disabled feature
|
||||
Parameters
|
||||
feature
|
||||
string
|
||||
The feature that was disabled
|
||||
description
|
||||
string
|
||||
Description
|
||||
Type
|
||||
DisabledFeature">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/disabledFeature" >disabledFeature</a></li></ul></div>
|
||||
<h1 id="dev_page_title">disabledFeature</h1>
|
||||
|
||||
<div id="dev_page_content"><p>A disabled feature</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 76. <a href="?layer=76">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>feature</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>The feature that was disabled</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>description</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Description</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/DisabledFeature">DisabledFeature</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>inputGeoPoint</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Defines a GeoPoint by its coordinates.">
|
||||
<meta property="og:title" content="inputGeoPoint">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Defines a GeoPoint by its coordinates.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputGeoPoint" >inputGeoPoint</a></li></ul></div>
|
||||
<h1 id="dev_page_title">inputGeoPoint</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Defines a GeoPoint by its coordinates.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code><a href="/constructor/inputGeoPoint" class="current_page_link" >inputGeoPoint</a>#48222faf flags:<a href="/type/%23" >#</a> lat:<a href="/type/double" >double</a> long:<a href="/type/double" >double</a> accuracy_radius:flags.0?<a href="/type/int" >int</a> = <a href="/type/InputGeoPoint" >InputGeoPoint</a>;</code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>flags</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/%23">#</a></td>
|
||||
<td>Flags, see <a href="/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>lat</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/double">double</a></td>
|
||||
<td>Latitide</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>long</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/double">double</a></td>
|
||||
<td>Longtitude</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>accuracy_radius</strong></td>
|
||||
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a></td>
|
||||
<td>The estimated horizontal accuracy of the location, in meters; as defined by the sender.</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/InputGeoPoint">InputGeoPoint</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,176 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>inputMediaUploadedThumbDocument</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="New document with a thumbnail.
|
||||
Parameters
|
||||
Name
|
||||
Type
|
||||
Description
|
||||
file
|
||||
InputFile
|
||||
Document, saved in parts by using the methods…">
|
||||
<meta property="og:title" content="inputMediaUploadedThumbDocument">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="New document with a thumbnail.
|
||||
Parameters
|
||||
Name
|
||||
Type
|
||||
Description
|
||||
file
|
||||
InputFile
|
||||
Document, saved in parts by using the methods…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputMediaUploadedThumbDocument" >inputMediaUploadedThumbDocument</a></li></ul></div>
|
||||
<h1 id="dev_page_title">inputMediaUploadedThumbDocument</h1>
|
||||
|
||||
<div id="dev_page_content"><p>New document with a thumbnail.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 22. <a href="?layer=22">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>file</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/InputFile">InputFile</a></td>
|
||||
<td>Document, saved in parts by using the methods <a href="/method/upload.saveFilePart">upload.saveFilePart</a> or <a href="/method/upload.saveBigFilePart">upload.saveBigFilePart</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>thumb</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/InputFile">InputFile</a></td>
|
||||
<td>Thumbnail file, saved in parts by using <a href="/method/upload.saveFilePart">upload.saveFilePart</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>file_name</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>File name with extension</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>mime_type</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>File MIME-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/InputMedia">InputMedia</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messageMediaAudio</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Attached audio file.">
|
||||
<meta property="og:title" content="messageMediaAudio">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Attached audio file.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/messageMediaAudio" >messageMediaAudio</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messageMediaAudio</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Attached audio file.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 46. <a href="?layer=46">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>audio</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Audio">Audio</a></td>
|
||||
<td>Audi file</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/MessageMedia">MessageMedia</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messageMediaVideo</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Attached video.">
|
||||
<meta property="og:title" content="messageMediaVideo">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Attached video.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/messageMediaVideo" >messageMediaVideo</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messageMediaVideo</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Attached video.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 28. <a href="?layer=28">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>video</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Video">Video</a></td>
|
||||
<td>Video</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/MessageMedia">MessageMedia</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.sentMessageLink</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Info on successfully sent message and on changes links.">
|
||||
<meta property="og:title" content="messages.sentMessageLink">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Info on successfully sent message and on changes links.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/messages.sentMessageLink" >messages.sentMessageLink</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.sentMessageLink</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Info on successfully sent message and on changes links.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 24. <a href="?layer=24">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Message ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>date</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Date of sending</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>pts</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>New value of <strong>pts</strong> parameter of a current state</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>seq</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>New value of <strong>seq</strong> parameter of a current state</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>links</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/contacts.Link">contacts.Link</a>></td>
|
||||
<td>List of changes links</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/messages.SentMessage">messages.SentMessage</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.statedMessageLink</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Message with auxiliary data, state data and the list of changed links.">
|
||||
<meta property="og:title" content="messages.statedMessageLink">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Message with auxiliary data, state data and the list of changed links.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/messages.statedMessageLink" >messages.statedMessageLink</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.statedMessageLink</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Message with auxiliary data, state data and the list of changed links.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 24. <a href="?layer=24">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>message</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Message">Message</a></td>
|
||||
<td>Message</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>chats</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/Chat">Chat</a>></td>
|
||||
<td>List of chats mentioned in message</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>users</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/User">User</a>></td>
|
||||
<td>List of users mentioned in message and chats</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>links</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/contacts.Link">contacts.Link</a>></td>
|
||||
<td>List of changed links</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>pts</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Number of events occurred in text box</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>seq</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Number of sent updates</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/messages.StatedMessage">messages.StatedMessage</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.statedMessagesLinks</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Message with auxiliary data, state data and the list of changed links.">
|
||||
<meta property="og:title" content="messages.statedMessagesLinks">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Message with auxiliary data, state data and the list of changed links.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/messages.statedMessagesLinks" >messages.statedMessagesLinks</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.statedMessagesLinks</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Message with auxiliary data, state data and the list of changed links.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 24. <a href="?layer=24">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>messages</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/Message">Message</a>></td>
|
||||
<td>List of messages</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>chats</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/Chat">Chat</a>></td>
|
||||
<td>List of cats mentioned in messages</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>users</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/User">User</a>></td>
|
||||
<td>List of users mentioned in messages and cahts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>links</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/contacts.Link">contacts.Link</a>></td>
|
||||
<td>List of changed links</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>pts</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Number of event occurred in a text box</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>seq</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Number of sent updates</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/messages.StatedMessages">messages.StatedMessages</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>updateUserBlocked</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="User was added to the blacklist (method contacts.block) or removed from the blacklist (method contacts.unblock).">
|
||||
<meta property="og:title" content="updateUserBlocked">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="User was added to the blacklist (method contacts.block) or removed from the blacklist (method contacts.unblock).">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/updateUserBlocked" >updateUserBlocked</a></li></ul></div>
|
||||
<h1 id="dev_page_title">updateUserBlocked</h1>
|
||||
|
||||
<div id="dev_page_content"><p>User was added to the blacklist (method <a href="/method/contacts.block">contacts.block</a>) or removed from the blacklist (method <a href="/method/contacts.unblock">contacts.unblock</a>).</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 119. <a href="?layer=119">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>user_id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>User id</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>blocked</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Bool">Bool</a></td>
|
||||
<td>(<a href="/constructor/boolTrue">boolTrue</a>) if the the user is blocked</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="#booltrue" id="booltrue" name="booltrue"><i class="anchor-icon"></i></a><a href="/constructor/boolTrue">boolTrue</a></h4>
|
||||
<p>The constructor can be interpreted as a <strong>boolean</strong><code>true</code> value.</p>
|
||||
<h4><a class="anchor" href="#contactsblock" id="contactsblock" name="contactsblock"><i class="anchor-icon"></i></a><a href="/method/contacts.block">contacts.block</a></h4>
|
||||
<p>Adds the user to the blacklist.</p>
|
||||
<h4><a class="anchor" href="#contactsunblock" id="contactsunblock" name="contactsunblock"><i class="anchor-icon"></i></a><a href="/method/contacts.unblock">contacts.unblock</a></h4>
|
||||
<p>Deletes the user from the blacklist.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,177 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>userForeign</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="A user that is not a contact of the current user.">
|
||||
<meta property="og:title" content="userForeign">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="A user that is not a contact of the current user.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/userForeign" >userForeign</a></li></ul></div>
|
||||
<h1 id="dev_page_title">userForeign</h1>
|
||||
|
||||
<div id="dev_page_content"><p>A user that is not a contact of the current user.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 18. <a href="?layer=18">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>User identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>first_name</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>First name as supplied by the user</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>last_name</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Last name as supplied by the user</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>access_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/long">long</a></td>
|
||||
<td>Checksum dependent on the user identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>photo</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/UserProfilePhoto">UserProfilePhoto</a></td>
|
||||
<td>Profile photo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>status</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/UserStatus">UserStatus</a></td>
|
||||
<td>Current status</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>username</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Username<br>Parameter added in <a href="/api/layers#layer-18">Layer 18</a>.</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/User">User</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,182 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>userRequest</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="A user that is not a contact of the current user, but whose phone number is available.">
|
||||
<meta property="og:title" content="userRequest">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="A user that is not a contact of the current user, but whose phone number is available.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/userRequest" >userRequest</a></li></ul></div>
|
||||
<h1 id="dev_page_title">userRequest</h1>
|
||||
|
||||
<div id="dev_page_content"><p>A user that is not a contact of the current user, but whose phone number is available.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 18. <a href="?layer=18">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>User identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>first_name</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>First name the user supplied</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>last_name</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Last name the user supplied</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>access_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/long">long</a></td>
|
||||
<td>Checksum dependent on the user identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>phone</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Phone number</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>photo</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/UserProfilePhoto">UserProfilePhoto</a></td>
|
||||
<td>Profile photo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>status</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/UserStatus">UserStatus</a></td>
|
||||
<td>Current status</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>username</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Username<br>Parameter added in <a href="/api/layers#layer-18">Layer 18</a>.</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/User">User</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>wallPaperSolid</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="One-color background wallpaper (no image).">
|
||||
<meta property="og:title" content="wallPaperSolid">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="One-color background wallpaper (no image).">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/wallPaperSolid" >wallPaperSolid</a></li></ul></div>
|
||||
<h1 id="dev_page_title">wallPaperSolid</h1>
|
||||
|
||||
<div id="dev_page_content"><p>One-color background wallpaper (no image).</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code>Constructor schema is available as of layer 93. <a href="?layer=93">Switch »</a></code></pre></p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>title</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>bg_color</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Background color (RGB)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>color</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Basic background color (RGB)</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/WallPaper">WallPaper</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,175 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>auth.sendCall</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Makes a voice call to the passed phone number. A robot will repeat the confirmation code from a previously sent SMS message.">
|
||||
<meta property="og:title" content="auth.sendCall">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Makes a voice call to the passed phone number. A robot will repeat the confirmation code from a previously sent SMS message.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/auth.sendCall" >auth.sendCall</a></li></ul></div>
|
||||
<h1 id="dev_page_title">auth.sendCall</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Makes a voice call to the passed phone number. A robot will repeat the confirmation code from a previously sent SMS message.</p>
|
||||
<p>{scheme}</p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>phone_number</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Phone number in the international format</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>phone_code_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>SMS-message ID</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#result" id="result" name="result"><i class="anchor-icon"></i></a>Result</h3>
|
||||
<p><a href="/type/Bool">Bool</a></p>
|
||||
<h3><a class="anchor" href="#query-example" id="query-example" name="query-example"><i class="anchor-icon"></i></a>Query example</h3>
|
||||
<pre><code>(auth.sendCall "79991234567" "2dc02d2cda9e615c84")
|
||||
=
|
||||
(boolTrue)
|
||||
|
||||
03c51564 3939370b 33323139 37363534 63643212 32643230 39616463 35313665 00343863 64e1a61b
|
||||
=
|
||||
997275b5</code></pre>
|
||||
<h3><a class="anchor" href="#possible-errors" id="possible-errors" name="possible-errors"><i class="anchor-icon"></i></a>Possible errors</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_NUMBER_INVALID</td>
|
||||
<td>Invalid phone number</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_CODE_HASH_EMPTY</td>
|
||||
<td><strong>phone_code_hash</strong> was not sent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_CODE_EXPIRED</td>
|
||||
<td>SMS expired</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>auth.sendSms</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Forces sending an SMS message to the specified phone number. Use this method if auth.sentAppCode was returned as a response to auth.sendCode, but the user can't reach the device with Telegram.">
|
||||
<meta property="og:title" content="auth.sendSms">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Forces sending an SMS message to the specified phone number. Use this method if auth.sentAppCode was returned as a response to auth.sendCode, but the user can't reach the device with Telegram.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/auth.sendSms" >auth.sendSms</a></li></ul></div>
|
||||
<h1 id="dev_page_title">auth.sendSms</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Forces sending an SMS message to the specified phone number. Use this method if <a href="/constructor/auth.sentAppCode">auth.sentAppCode</a> was returned as a response to <a href="/method/auth.sendCode">auth.sendCode</a>, but the user can't reach the device with Telegram.</p>
|
||||
<p>{scheme}</p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>phone_number</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Phone number in international format</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>phone_code_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>SMS-message ID</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#result" id="result" name="result"><i class="anchor-icon"></i></a>Result</h3>
|
||||
<p><a href="/type/Bool">Bool</a></p>
|
||||
<h3><a class="anchor" href="#possible-errors" id="possible-errors" name="possible-errors"><i class="anchor-icon"></i></a>Possible errors</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_NUMBER_INVALID</td>
|
||||
<td>Invalid phone number</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_CODE_HASH_EMPTY</td>
|
||||
<td><strong>phone_code_hash</strong> was not sent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PHONE_CODE_EXPIRED</td>
|
||||
<td>SMS expired</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,177 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.forwardMessage</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Forwards single messages.">
|
||||
<meta property="og:title" content="messages.forwardMessage">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Forwards single messages.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/messages.forwardMessage" >messages.forwardMessage</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.forwardMessage</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Forwards single messages.</p>
|
||||
<p>{scheme}</p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>peer</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/InputPeer">InputPeer</a></td>
|
||||
<td>User or chat where a message will be forwarded</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Forwarded message ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>random_id</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/long">long</a></td>
|
||||
<td>Unique client message ID required to prevent message resending</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#result" id="result" name="result"><i class="anchor-icon"></i></a>Result</h3>
|
||||
<p><a href="/type/messages.StatedMessage">messages.StatedMessage</a></p>
|
||||
<h3><a class="anchor" href="#possible-errors" id="possible-errors" name="possible-errors"><i class="anchor-icon"></i></a>Possible errors</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>CHAT_ID_INVALID</td>
|
||||
<td>The provided chat id is invalid</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>MESSAGE_ID_INVALID</td>
|
||||
<td>The provided message id is invalid</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>PEER_ID_INVALID</td>
|
||||
<td>The provided peer id is invalid</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>400</td>
|
||||
<td>YOU_BLOCKED_USER</td>
|
||||
<td>You blocked this user</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.sendBroadcast</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Sends multiple messages to contacts.">
|
||||
<meta property="og:title" content="messages.sendBroadcast">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Sends multiple messages to contacts.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/messages.sendBroadcast" >messages.sendBroadcast</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.sendBroadcast</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Sends multiple messages to contacts.</p>
|
||||
<p>{scheme}</p>
|
||||
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center;">Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>contacts</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a><<a href="/type/InputUser">InputUser</a>></td>
|
||||
<td>List of user ID to whom a message will be sent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>message</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Message text</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>media</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/InputMedia">InputMedia</a></td>
|
||||
<td>Message media-contents</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#result" id="result" name="result"><i class="anchor-icon"></i></a>Result</h3>
|
||||
<p><a href="/type/messages.StatedMessages">messages.StatedMessages</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Binary serialization and abstract TL types</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="TL Language defines abstract data types in the spirit of a general theory of types (more accurately, Martin-Löf’s theories…">
|
||||
<meta property="og:title" content="Binary serialization and abstract TL types">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="TL Language defines abstract data types in the spirit of a general theory of types (more accurately, Martin-Löf’s theories…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-abstract-types" >Binary serialization and abstract TL types</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Binary serialization and abstract TL types</h1>
|
||||
|
||||
<div id="dev_page_content"><p><a href="TL">TL Language</a> defines <em>abstract</em> data types in the spirit of a general theory of types (more accurately, Martin-Löf’s theories of dependent intuitionistic types) without specifying the values of these types should be represented in memory, when saved to disk, or transmitted over a network. In contrast, the article on <a href="serialize">binary serialization</a> discusses the problem of effective serialization of values of abstract types. To this end, the concept of a <em>concrete</em> or <em>serialized</em> type has been defined as the sets of serializations of all possible values of the corresponding abstract type. In this case, the serializations take values in the set A<em> of words in the alphabet </em>A*, which consists of 2^32 characters -- 32-bit integers.</p>
|
||||
<p>In order to use a TL schema (e.g. “program”) in the TL language to describe the serialization of values of abstract types, we should explain how the concrete type <em>[T]</em> (subset <em>[T]</em> of A^<em>) is associated with the abstract type </em>T<em> (defined in TL), and how the values of the abstract type </em>T<em> correspond to the values of the concrete type </em>[T]<em> (i.e. the elements of </em>[T]*).</p>
|
||||
<p>Serialization is the process of constructing an element of <em>[T]</em> based on a value of the abstract type <em>T</em>. The reverse process is deserialization. </p>
|
||||
<p>Values of the abstract type <em>T</em> may be represented in a different way. Typically, some sort of trees or graphs are used in memory or, if desired, a set of nodes may be used, each of which contains a certain tag (“node type”) and several pointers to other nodes and/or values of built-in primitive types such as <code>int</code>. However, for general discussions it is useful to write the values of abstract type <em>T</em> as a string, more specifically, an S-expression. Recall that an S-expression is either an atom (the value of a primitive type, for example, an integer or a string constant in quotation marks; or an identifier that corresponds to a built-in or defined function) or a space-delimited list of S-expressions ending in parentheses. In our case, we use S-expressions, the first element of which is a combinator identifier, while the remaining elements (the number of which depends on the combinator’s arity) are S-expressions representing elements of the chosen combinator’s fields (or parameters). Moreover, the type of the arguments’ S-expressions and the type of the S-expressions of the result (e.g. the associated expression) must match.</p>
|
||||
<p>For example, for the schema</p>
|
||||
<pre><code>pair x:int y:int = Pair;
|
||||
pnil = PairList;
|
||||
pcons hd:Pair tl:PairList = PairList;</code></pre>
|
||||
<p>the following are examples of the abstract type <code>PairList</code>, written as S-expressions: </p>
|
||||
<pre><code>(pnil)
|
||||
(pcons (pair 2 3) (pcons (pair 9 4) (pnil)))</code></pre>
|
||||
<p>We usually write <em>E : T</em> (read "<em>E</em> of type <em>T</em>”) when we want to say that <em>E</em> is a value of type <em>T</em>. We assume there is a built-in type <em>Type</em> whose values are types. Thus, writing <em>T : Type</em> means that <em>T</em> is a type.</p>
|
||||
<p>For example, we can write:</p>
|
||||
<pre><code>PairList : Type;
|
||||
(pcons (pair 2 3) (pcons (pair 9 4) (pnil))) : PairList;</code></pre>
|
||||
<p>Converting an abstract value to a serialized value, generally speaking, is straightforward (and, if desired, can be defined by induction):</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>It is the serialization of values <em>n</em> of the primitive type <code>int</code> (as a single-symbol word in the alphabet <em>A</em>)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The serialization of a string constant (a value of the primitive type string) is a sequence of the 32-bit numbers defined in <a href="serialize">Binary serialization</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The serialization of the S-expression <code>(C E1 ... Er) : T</code>, where <code>C</code> is a combinator with arity <em>r</em> with argument types <em>T1</em>, ..., <em>Tr</em> and result type <em>T</em> (e.g. <em>C : T1->T2->...->Tr->T</em>) is the concatenation of the <em>combinator number</em> <em>C</em> (a 32-bit number that unambiguously identifies the combinator, usually equal to the CRC-32 of the string of its TL description) and the serializations of the values <em>E1</em> of type <em>T1</em>, <em>E2</em> of type <em>T2</em>, ..., <em>Er</em> of type <em>Tr</em>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If we use <em>[T]</em> to denote the concrete type corresponding to the abstract <em>T</em>, and <em>[E]</em> to denote an element of <em>[T]</em> corresponding to the value <em>E</em> of type <em>T</em>, then the last rule may be written as:</p>
|
||||
<ul>
|
||||
<li><em>[T]</em> is the combination, for each constructor of type <em>C</em> <em>T1->T2->...->Tr->T</em> (i.e. that returns a value of type <em>T</em>), of direct products <em>{C} x [T1] x [T2] x ... x [Tr]</em>, where <em>{C}</em> is a single-element set consisting of the combinator number <em>C</em>. Because <em>{C}<>{C'}</em> when <em>C<>C’</em>, this defines a mutually single-valued mapping of the values of the abstract type <em>T</em> (written using S-expressions) to the set <em>[T]</em>.</li>
|
||||
</ul>
|
||||
<p>Values of the built-in clothed types <code>Int</code> and <code>String</code> and serialized as if they were defined using <code>int x:int = Int;</code> and <code>string s:string = String;</code>, i.e. the serialization of integer constant or a string is preceded by number of the <code>int</code> or <code>string</code> combinator (constructor). In S-expressions, this may be written as <code>(int 5)</code> or <code>(string "Test")</code>.</p>
|
||||
<p>However, what has been described above does not account for certain subtleties, such as the existence of naked types, or the difference between functions (active combinators whose application may be reduced, e.g. calculated) and constructors (passive combinators for which there are not and cannot be reduction rules). Furthermore, we have not explained how to handle polymorphic types and <a href="TL-optargs">optional combinator parameters</a>. We will attempt to explain this now.</p>
|
||||
<h3><a class="anchor" href="#constants-surface-values-and-functional-values" id="constants-surface-values-and-functional-values" name="constants-surface-values-and-functional-values"><i class="anchor-icon"></i></a>Constants, surface values, and functional values</h3>
|
||||
<p>By dividing combinators into constructors and functions, we can introduce the following classes of expressions (values) of the abstract type <em>T</em>:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><em>Constant expressions</em>: for the types <code>int</code> and <code>string</code>, these are all integer/string constants; for <em>T</em>, these are all expressions like <em>(C E1 ... Er) : T</em>, where the combinator <em>C : T1->T2->...->Tr->T</em> is a constructor, and <em>Ei : Ti</em> is constant expressions of types <em>Ti</em>. In other words, a constant expression is an S-expression consisting of only constructors and constant of primitive types.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><em>Surface expressions</em> are expressions that outwardly contain a functional combinator whose arguments, however, are constant expressions of the appropriate types. In other words, the functional combinator is resolved only at the outer level. (This is not entirely true; see the full explanation below).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><em>Functional expressions</em>: These are expressions that may contain any combinators or constants at all levels.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>In practice, we most frequently need constant values (for storage and passing any data structures, in particular, responses to RPC queries) and surface expressions (for example, as RPC queries: then the functional combinator of the outer level is the name of the RPC function that we want to call, while its parameters are the arguments, which are constant values, for invoking the function). In some cases, arbitrary functional expressions are helpful (for example, it we want to remotely transmit the result of one RPC query to a different RPC query).</p>
|
||||
<p>We will use <em>c(T)</em> to denote a subtype of the abstract type <em>T</em>, whose values are constant expressions of type <em>T</em>. Clearly, <em>c(T)</em> possesses approximately the same constructors as <em>T</em> itself (with the types of all arguments <em>Ti</em> replaced by <em>c(Ti)</em>, but it does not have functional combinators.</p>
|
||||
<p>Analogously, we will use <em>f(T)</em> to denote a subtype of <em>T</em>, whose values are surface expressions of type <em>T</em>. Clearly, the combinators of <em>f(T)</em> are essentially functional combinators of type <em>T</em>, but <em>c()</em> applies to the types of these combinators’ arguments: The combinator <em>A : T1->...->Tr->T</em> turns into <em>A' : c(T1)->...->c(Tr)->f(T)</em>. (See the clarification of this rule below.)</p>
|
||||
<p>Thus, we have defined two “functionals” <em>c : Type -> Type</em> and <em>f : Type -> Type</em>, such that <em>forall T : Type, c(T) :- T</em> and <em>forall T : Type, f(T) :- T</em> (writing <em>T :- T'</em> means that <em>T</em> is contained in <em>T'</em>, or that <em>T</em> is a subtype of <em>T'</em>).</p>
|
||||
<p>We will assume that <em>c</em> and <em>f</em> are idempotent.</p>
|
||||
<h3><a class="anchor" href="#naked-types" id="naked-types" name="naked-types"><i class="anchor-icon"></i></a>Naked types</h3>
|
||||
<p>From the perspective of abstract type theory, naked types (in contrast to built-in primitive types like <code>int</code> and <code>string</code> are unnecessary. However, they are extremely useful in practice.</p>
|
||||
<p>Therefore, TL introduces the (partially defined) idempotent unary operator <code>%</code>, which turns a standard functional (e.g. an expression of type <em>...->Type</em> or simply <em>Type</em>) into a different standard functional of the same type. If <em>T</em> is a type, then from an abstract theoretical point of view, <code>%T</code> is equivalent to <em>c(T)</em>. In other words, the values of <code>%T</code> are the constant values of <em>T</em>. If <em>T</em> is a <em>k</em>-arity standard expression, then <em>T : S1 -> ... -> Sk -> Type</em>, where each <em>Si=Type</em> or <em>#</em>, then by definition <code>%T</code> is a <em>k</em>-arity standard expression with the same arity, which is defined by the equation <em>(%T) a1 ... ak = % (T a1 ... ak)</em>. </p>
|
||||
<p>When a <em>constant</em> value of type <code>%T</code> is serialized, it is first serialized as a value of type <em>T</em> (assuming that <em>T</em> is not already a naked type itself). Then the first character of the serialization is discarded (e.g. the name of the enclosing combinator). Therefore, <code>%T</code> is a only a valid type expression if there is not more than one constructor for <code>%T</code>. The expression <code>%T</code>, where <em>T : S1 -> ... -> Sk -> Type</em>, is valid, if for <em>any</em> choice of parameters <em>a1 : S1, ... , ak : Sk</em>, the type <em>T a1 ... ak</em> does not have more than one constructor. Using <code>%</code> in other instances is incorrect.</p>
|
||||
<p>If for every value of the parameters <em>a1 : S1, ..., ak : Sk</em>, there is exactly one constructor <em>C</em> for <em>T a1 ... ak</em>, then TL allows writing <code>C a1 ... ak</code> instead of <code>%T a1 ... ak</code> or <code>%(T a1 .. ak)</code>. In other words, in certain situations the identifier <code>C</code> is a synonym for <code>%T</code>. This is only allowed in the context of a type (when specifying the type of a combinator’s field or result).</p>
|
||||
<p>Moreover, it is assumed that <code>%Int = int</code> and <code>%String = string</code>.</p>
|
||||
<h3><a class="anchor" href="#-modifier" id="-modifier" name="-modifier"><i class="anchor-icon"></i></a><code>!</code> modifier</h3>
|
||||
<p>In TL, the idempotent operator <code>!</code> can modify any type, actually making surface values be allowed when its constant values are serialized. However, if <em>T</em> is a standard function like <em>S1->..->Sr->Type</em>, then <em>!T</em> is defined using the equation <code>(!T) a1 ... ar = !(T a1 ... ar)</code>, for any <em>a1:S1</em>, ..., <em>ar:Sr</em>.</p>
|
||||
<p>The <code>!</code> operator is only allowed in a definition of the types of fields of functional combinators. It is usually used as a type prefix, for example:</p>
|
||||
<pre><code>set_timeout {X:Type} timeout:int f:!X = X;</code></pre>
|
||||
<p>In this case, the <code>set_timeout</code> “wrapper” is defined. It takes two explicit parameters: the integer <code>timeout</code> and a surface expression of type <code>X</code>. <em>X : Type</em> is itself an implicit parameter (it is not explicitly stated, rather it is inferred from the values of the other parameters and their types). A similar kind of wrapper may be helpful for modifying the action of RPC queries (which are surface expressions of various types). For example, suppose we have the function</p>
|
||||
<pre><code>factorial n:int = int;</code></pre>
|
||||
<p>then we can wrap the RPC query <code>(factorial 100)</code> as follows: <code>(set_timeout 200 (factorial 100))</code>. This expression is still a surface value of type <code>int</code>, which means it can be passed as an RPC query.</p>
|
||||
<p>A consecutive pair of two computations is another example:</p>
|
||||
<pre><code>pair {X Y : Type} x:X y:Y = Pair X Y; // constructor
|
||||
seq_pair {X Y : Type} x:!X y:!Y = Pair X Y; // functional wrapper for sequential computation
|
||||
par_pair {X Y : Type} x:!X y:!Y = Pair X Y; // functional wrapper for parallel computation</code></pre>
|
||||
<p>Now the RPC query <code>(seq_pair (factorial 2) (factorial 3)) : Pair int int</code> first calculates factorial 2, then factorial 3, and returns the pair <code>(pair 2 6)</code>. In this case, the sequence of operations isn’t important, because they do not have side effects. It would have been just as well to use <code>(par_pair (factorial 2) (factorial 3))</code>. However, this is not always the case.</p>
|
||||
<p>We can also define an analogy to a “comma” operation:</p>
|
||||
<pre><code>comma {X Y : Type} x:!X y:!Y = Y;</code></pre>
|
||||
<p>For example, this operation could first calculate <code>x</code>, then forget the result, calculate <code>y</code>, and return <code>y</code>. </p>
|
||||
<p>Note that the semantics of the <code>seq_pair</code>, <code>par_pair</code> and <code>comma</code> wrappers are indeed defined where they are implemented (like the semantics of all other functional combinators), not by their TL declaration.</p>
|
||||
<p>In principle, polymorphic wrappers like <code>set_timeout</code> can also be applied, for example, to “annotate” a RPC response’s constant values. For example, the server might return a response to a query together with the time it was calculated. However, a value of type <em>!X</em> must be constant, because that is what is expected as the enclosing expression’s value. In other words, <code>set_timeout 239 E</code> is a constant/surface value of type <em>X</em> if and only if <em>E</em> is such itself.</p>
|
||||
<h3><a class="anchor" href="#-modifier" id="-modifier" name="-modifier"><i class="anchor-icon"></i></a><code>$</code> modifier</h3>
|
||||
<p>The idempotent modifier <code>$</code> permits the use of arbitrary functional values of an appropriate type in contexts where only constants or surface values are usually allowed. It recursively transforms all combinators for all of the types involved, canceling the action of <code>%</code> and affixing <code>$</code> to the parameter types and result of all combinators (<code>$</code> is also added to the front of the transformed combinators). Moreover, built-in types are also transformed (in the final stage): <code>$int = Int</code> and <code>$string = String</code>.</p>
|
||||
<p>This may be useful to create an RPC query that performs a “deep computation” of the expression passed to it:</p>
|
||||
<pre><code>compute {X:Type} expr:$X = X;</code></pre>
|
||||
<p>For example, now we can transmit the following as an RPC query:</p>
|
||||
<pre><code>(compute ($factorial ($factorial (int 3)))) : int</code></pre>
|
||||
<p>(Note that the three has become clothed; the combinator $factorial has type $int -> $int).</p>
|
||||
<p>This is very powerful tool. It does not have to be implemented in very simple versions of TL. <code>$</code> is not encountered in currently used TL schemas.</p>
|
||||
<h3><a class="anchor" href="#more-on-modifiers" id="more-on-modifiers" name="more-on-modifiers"><i class="anchor-icon"></i></a>More on modifiers</h3>
|
||||
<p>In fact, at least in terms of its application to serialization, the TL language by default implies the <em>c()</em> modifier around all combinators’ parameter types and results, while <code>!</code> and <code>$</code> cancel it (more accurately, <code>!</code> only cancels, and in some sense <code>$</code> reverses the meaning). This is why there is no explicit <code>c()</code> modifier in TL and why it is assumed that all functions only accept constant values and return constant results, unless otherwise specified.</p>
|
||||
<p>You may think that some functional combinators may have a type such as <code>partial_factorial n:int = $int;</code> and that the RPC query <code>(partial_factorial 3)</code> might then unexpectedly return <code>($product (int 3) ($product (int 2) ($product (int 1) (int 1)))) : $int</code> ...</p>
|
||||
<p>It is probably more correct to think about the <code>!</code> modifier as follows. All types initially include only constant values (and only constructors). The <code>!</code> modifier makes a new type (it’s twin) out of each type. This new type has no inherent constructors. Functional combinators differ from constructors in that <code>!</code> is implicitly added in front of their result’s type. After this, the (local or remote) process of calculating the expression can be represented using the polymorphic function <code>eval : !X -> X</code>.</p>
|
||||
<h3><a class="anchor" href="#optional-combinator-parameters-and-their-values" id="optional-combinator-parameters-and-their-values" name="optional-combinator-parameters-and-their-values"><i class="anchor-icon"></i></a>Optional combinator parameters and their values</h3>
|
||||
<p>See <a href="TL-optargs">Optional combinator parameters and their values</a>.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Formal description of TL combinators</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Formal declaration of TL combinators
|
||||
Main article: Formal description of TL. See also TL Language.
|
||||
Combinators in TL are…">
|
||||
<meta property="og:title" content="Formal description of TL combinators">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Formal declaration of TL combinators
|
||||
Main article: Formal description of TL. See also TL Language.
|
||||
Combinators in TL are…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-combinators" >Formal description of TL combinators</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Formal description of TL combinators</h1>
|
||||
|
||||
<div id="dev_page_content"><p><a href="/mtproto/TL-combinators">Formal declaration of TL combinators</a></p>
|
||||
<p>Main article: <a href="TL-formal">Formal description of TL</a>. See also <a href="TL">TL Language</a>.</p>
|
||||
<p>Combinators in TL are declared as follows:</p>
|
||||
<div class="richcode">
|
||||
<p><em>combinator-decl</em> ::= <em>full-combinator-id</em> { <em>opt-args</em> } { <em>args</em> } <code>=</code> <em>result-type</em> <code>;</code><br>
|
||||
<em>full-combinator-id</em> ::= <em>lc-ident-full</em> | <code>_</code><br>
|
||||
<em>combinator-id</em> ::= <em>lc-ident-ns</em> | <code>_</code><br>
|
||||
<em>opt-args</em> ::= <code>{</code> <em>var-ident</em> { <em>var-ident</em> } : [<em>excl-mark</em>] <em>type-expr</em> <code>}</code><br>
|
||||
<em>args</em> ::= <em>var-ident-opt</em> <code>:</code> [ <em>conditional-arg-def</em> ] [ <code>!</code> ] <em>type-term</em><br>
|
||||
<em>args</em> ::= [ <em>var-ident-opt</em> <code>:</code> ] [ <em>multiplicity</em> <code>*</code>] <code>[</code> { <em>args</em> } <code>]</code><br>
|
||||
<em>args</em> ::= <code>(</code> <em>var-ident-opt</em> { <em>var-ident-opt</em> } <code>:</code> [<code>!</code>] <em>type-term</em> <code>)</code><br>
|
||||
<em>args</em> ::= [ <code>!</code> ] <em>type-term</em><br>
|
||||
<em>multiplicity</em> ::= <em>nat-term</em><br>
|
||||
<em>var-ident-opt</em> ::= <em>var-ident</em> | <code>_</code><br>
|
||||
<em>conditional-arg-def</em> ::= <em>var-ident</em> [ <code>.</code> <em>nat-const</em> ] <code>?</code><br>
|
||||
<em>result-type</em> ::= <em>boxed-type-ident</em> { <em>subexpr</em> }<br>
|
||||
<em>result-type</em> ::= <em>boxed-type-ident</em> <code><</code> <em>subexpr</em> { <code>,</code> <em>subexpr</em> } <code>></code> </p>
|
||||
</div>
|
||||
<p>We shall clarify what all this means.</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>A combinator identifier is either an identifier starting with a lowercase Latin letter (<em>lc-ident</em>), or a namespace identifier (also <em>lc-ident</em>) followed by a period and another <em>lc-ident</em>. Therefore, <code>cons</code> and <code>lists.get</code> are valid combinator identifiers.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>A combinator has a <em>name</em>, also known as a <em>number</em> (not to be confused with the <em>designation</em>) -- a 32-bit number that unambiguously determines it. It is either calculated automatically (see below) or it is explicitly assigned in the declaration. To do this, a hash mark (<code>#</code>) and exactly 8 hexadecimal digits -- the combinator’s name -- are added to the identifier of the combinator being defined.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>A combinator’s declaration begins with its identifier, to which its name (separated by a hash mark) may have been added.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>After the combinator identifier comes the main part of the declaration, which consists of declarations of <em>fields</em> (or <em>variables</em>), including an indication of their <em>types</em>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>First come declarations of optional fields (of which there may be several or none at all). Then there are the declarations of the required fields (there may not be any of these either).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Any identifier that begins with an uppercase or lowercase letter and which does not contain references to a namespace can be a field (variable) identifier. Using <em>uc-ident</em> for identifiers of variable types and <em>lc-indent</em> for other variables is good practice. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Next a combinator declaration contains the equals sign (<code>=</code>) and the result type (it may be composite or appearing for the first time). The result type may be polymorphic and/or dependent; any fields of the defined constructor’s fields of type <code>Type</code> or <code>#</code> may be returned (as subexpressions).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>A combinator declaration is terminated with a semicolon.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>In what follows, a constructor’s <em>fields</em>, <em>variables</em>, and <em>arguments</em> mean the same thing.</p>
|
||||
<h3><a class="anchor" href="#optional-field-declarations" id="optional-field-declarations" name="optional-field-declarations"><i class="anchor-icon"></i></a>Optional field declarations</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>These have the form <code>{</code> <em>field_1</em> ... <em>field_k</em> <code>:</code> <em>type-expr</em> <code>}</code>, where <em>field_i</em> is a variable (field) identifier that is unique within the scope of the combinator declaration, and <em>type-expr</em> is a type shared by all of the fields. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If <em>k>1</em>, this entry is functionally equivalent to <code>{</code> <em>field_1</em> <code>:</code> <em>type-expr</em> <code>}</code> ... <code>{</code> <em>field_k</em> <code>:</code> <em>type-expr</em> <code>}</code>. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>All optional fields must be explicitly named (using <code>_</code> instead of <em>field_i</em> is not allowed).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Moreover, at present the names of all optional fields must share the combinator’s result type (possibly more than once) and themselves be of type <code>#</code> (i,e., <code>nat</code>) or <code>Type</code>. Therefore, if the exact result type is known, it is possible to determine the values of all of the combinator’s implicit parameters (possibly obtaining a contradiction of the form <code>2=3</code> in doing so, which means that the combinator is not allowed in the context).</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#required-field-declarations" id="required-field-declarations" name="required-field-declarations"><i class="anchor-icon"></i></a>Required field declarations</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>These may have the form <code>(</code> <em>field_1</em> ... <em>field_k</em> <code>:</code> <em>type-expr</em> <code>)</code>, similar to an optional field declaration, but with parentheses. This entry is equivalent to <code>(</code> <em>field_1</em> <code>:</code> <em>type-expr</em> <code>)</code> ... <code>(</code> <em>field_k</em> : <em>type-expr</em> <code>)</code>, where the fields are defined one at a time.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The underscore sign (<code>_</code>) can be used as names of one or more fields (<em>field_i</em>), indicating that the field is anonymous (the exact name is unimportant).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>One field may be declared without outer parentheses, like this: <em>field_id</em> <code>:</code> <em>type-expr</em>. Here, however, if <em>type-expr</em> is a complex type, parentheses may be necessary around <em>type-expr</em> (this is reflected in BNF).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Furthermore, one anonymous field may be declared using a <em>type-expr</em> entry, functionally equivalent to <code>_</code> <code>:</code> <em>type-expr</em>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Required field declarations follow one after another, separated by spaces (by any number of whitespace symbols, to be more precise).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The declared field’s type (<em>type-expr</em>) may use the declared combinator’s previously defined variables (fields) as subexpressions (i.e. parameter values). For example:</p>
|
||||
<p>nil {X:Type} = List X;
|
||||
cons {X:Type} hd:X tl:(list X) = List X;
|
||||
typed_list (X:Type) (l : list X) = TypedList;</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#repetitions" id="repetitions" name="repetitions"><i class="anchor-icon"></i></a>Repetitions</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>These may only exist among required parameters. They have the form [ <em>field-id</em> <code>:</code> ] [ <em>multiplicity</em> <code>*</code> ] <code>[</code> <em>args</em> <code>]</code>, where <em>args</em> has the same format as the combinator’s declaration of (several) required fields, except that all of the enclosing combinator’s previously declared fields may be used in the argument types.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The name of a field of an enclosing combinator that receives a repetition as a value may be specified (<em>field-id</em>), or bypassed, which is equivalent to using the underscore sign as a <em>field-id</em>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The <em>multiplicity</em> field is an expression of the type <code>#</code> (<code>nat</code>), which can be a real constant, the name of a preceding field of type <code>#</code>, or an expression in the form <code>(</code> <em>c</em> <code>+</code> <em>v</em> <code>)</code>, where <em>c</em> is a real constant and <em>v</em> is the name of a field of type <code>#</code>. The sense of the <em>multiplicity</em> field is to provide the length of the (repetition) vector, each element of which consists of values of the types enumerated in <em>args</em>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The <em>multiplicity</em> field may be bypassed. In this case, the last preceding parameter of type <code>#</code> from the enclosing combinator is used (it must be).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Functionally, the repetition <em>field-id</em> <code>:</code> <em>multiplicity</em> <code>*</code> <code>[</code> <em>args</em> <code>]</code> is equivalent to the declaration of the single field <code>(</code> <em>field-id</em> <code>:</code> <code>%Tuple</code> <code>%AuxType</code> <em>multiplicity</em> <code>)</code>, where <code>aux_type</code> is an auxiliary type with a new name defined as <code>aux_type *args* = AuxType</code>. If any of the enclosing type’s fields are used within <em>args</em>, they are added to the auxiliary constructor <code>aux_type</code> and to its <code>AuxType</code> result type as the first (optional) parameters. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If <em>args</em> consists of one anonymous field of type <em>some-type</em>, then <em>some-type</em> can be used directly instead of <code>%AuxType</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If during implementation the repetitions are rewritten as indicated above, it is logical to use instead of <code>aux_type</code> and <code>AuxType</code>, some identifiers that contain the name of the outer combinator being defined and the repetition’s index number inside its definition.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Example:</p>
|
||||
<pre><code>matrix {m n : #} a : m* [ n* [ double ] ] = Matrix m n;</code></pre>
|
||||
<p>is functionally equivalent to</p>
|
||||
<pre><code>aux_type {n : #} (_ : %Tuple double n) = AuxType n;
|
||||
matrix {m : #} {n : #} (a : %Tuple %(AuxType n) m) = Matrix m n;</code></pre>
|
||||
<p>Moreover, the built-in types <code>Tuple</code> and <code>Vector</code> could be defined as:</p>
|
||||
<pre><code>tnil {X : Type} = Tuple X 0;
|
||||
tcons {X : Type} {n : #} hd:X tl:%(Tuple X n) = Tuple X (S n);
|
||||
vector {X : Type} (n : #) (v : %(Tuple X n)) = Vector X;</code></pre>
|
||||
<p>Actually, the following equivalent entry is considered the definition of <code>Vector</code> (i.e. it is specifically this entry that is used to compute the name of the <code>vector</code> constructor and its partial applications):</p>
|
||||
<pre><code>vector {t : Type} # [ t ] = Vector t;</code></pre>
|
||||
<p>If we expand it using <code>Tuple</code>, we obtain the previous definition exactly.</p>
|
||||
<h3><a class="anchor" href="#conditional-fields" id="conditional-fields" name="conditional-fields"><i class="anchor-icon"></i></a>Conditional fields</h3>
|
||||
<p>The construction </p>
|
||||
<div class="richcode">
|
||||
<p><em>args</em> ::= <em>var-ident-opt</em> <code>:</code> [ <em>conditional-arg-def</em> ] [ <code>!</code> ] <em>type-term</em><br>
|
||||
<em>conditional-arg-def</em> ::= <em>var-ident</em> [ <code>.</code> <em>nat-const</em> ] <code>?</code> </p>
|
||||
</div>
|
||||
<p>permits assigning fields which are only present if the value of a preceding mandatory or optional field of type <code>#</code> is not null (or if its chosen bit is not zero if the special binary bit-selection operator <code>.</code> is applied).
|
||||
Example:</p>
|
||||
<div class="richcode">
|
||||
<p>user {fields:#} id:int first_name:(fields.0?string) last_name:(fields.1?string) friends:(fields.2?%(Vector int)) = User fields;<br>
|
||||
get_users req_fields:# ids:%(Vector int) = Vector %(User req_fields) </p>
|
||||
</div></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,236 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TL-dependent</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Main article: TL Language.
|
||||
In certain cases, types may depend not only on other types (polymorphism), but also on the parameters…">
|
||||
<meta property="og:title" content="TL-dependent">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Main article: TL Language.
|
||||
In certain cases, types may depend not only on other types (polymorphism), but also on the parameters…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-dependent" >TL-dependent</a></li></ul></div>
|
||||
<h1 id="dev_page_title">TL-dependent</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Main article: <a href="/mtproto/TL">TL Language</a>.</p>
|
||||
<p>In certain cases, types may depend not only on other types (polymorphism), but also on the parameters of another type (dependent types). The TL language provides very limited support for this functionality: dependence is only allowed on a natural parameter whose type is designated using <code>#</code> (alias <code>nat</code>, but this is private -- TL doesn’t currently support this synonym). Values of type # are serialized as 32-bit signed numbers from 0 to 2^31-1.</p>
|
||||
<h2><a class="anchor" href="#example-integer-tuples-vectors" id="example-integer-tuples-vectors" name="example-integer-tuples-vectors"><i class="anchor-icon"></i></a>Example: integer tuples (vectors)</h2>
|
||||
<p>Suppose we want to use induction to define the types “one integer”, “two integers”, and “three integers”. We could try to define them as follows:</p>
|
||||
<pre><code>empty = Empty;
|
||||
single x:int = Single;
|
||||
pair x:int y:int = Pair;
|
||||
triple x:int y:int z:int = Triple;
|
||||
quadruple x:int y:int z:int t:int = Quadruple;
|
||||
...</code></pre>
|
||||
<p>or as:</p>
|
||||
<pre><code>empty = Empty;
|
||||
single x:int empty = Single;
|
||||
pair x:int y:single = Pair;
|
||||
triple x:int yz:pair = Triple;
|
||||
quadruple x:int yzt:triple = Quadruple;</code></pre>
|
||||
<p>or as:</p>
|
||||
<pre><code>tnil = Tuple0;
|
||||
tcons0 hd:int tl:Tuple0 = Tuple1;
|
||||
tcons1 hd:int tl:Tuple1 = Tuple2;
|
||||
tcons2 hd:int tl:Tuple2 = Tuple3;
|
||||
...
|
||||
tcons_n hd:int tl:Tuple_n = Tuple_(n+1)</code></pre>
|
||||
<p>The first two variations lead to the same serialization. For example, <code>(2 3 9):%triple</code> and <code>(2 (3 9)):%triple</code> serialize as three 32-bit numbers: <code>2 3 9</code>. The last variation better emphasizes the inductive version of the definition, but it uses boxed types. This is good from a theoretical perspective, but it leads to “superfluous” constructor names in serialization.</p>
|
||||
<p>Therefore, we will write <code>%Type-Ident</code> to indicate the bare type that corresponds to the boxed type <code>Type-Ident</code> with a single constructor. If this constructor is named <code>constructor</code>, then according to the definition %<code>Type-Ident</code> = %<code>constructor</code>. Now we can write our definition like this:</p>
|
||||
<pre><code>tnil = Tuple0;
|
||||
tcons_n hd:int tl:%Tuple_n = Tuple_(n+1)</code></pre>
|
||||
<p>If we now abstract <em>n</em> out of the name of the type name and make it like a parameter for a polymorphic (dependent, to be more exact) type, then something like the following can be written in a suitable functional language:</p>
|
||||
<pre><code>NewType Tuple (n : #) :=
|
||||
| tnil = Tuple 0
|
||||
| tcons n:# hd:int tl:%(Tuple n) = Tuple (S n)
|
||||
EndType;</code></pre>
|
||||
<p>In the TL language, it looks like this:</p>
|
||||
<pre><code>tnil = Tuple 0;
|
||||
tcons {n:#} hd:int tl:%(Tuple n) = Tuple (S n);</code></pre>
|
||||
<p>The function <code>S : # -> #</code> and the constant <code>O : #</code> (it is <code>0</code>) are the function for the next natural number (<code>S n = n + 1</code>) and the constant null. Therefore, the type <code>#</code> (alias <code>nat</code>) behaves as if it were defined in TL using the constructors</p>
|
||||
<pre><code>O = nat;
|
||||
S nat = nat;</code></pre>
|
||||
<p>or, using syntax more typical of other functional languages,</p>
|
||||
<pre><code>NewType nat :=
|
||||
| O
|
||||
| S nat
|
||||
EndType;</code></pre>
|
||||
<p>Types of all defined combinators:</p>
|
||||
<pre><code>O : #
|
||||
S : # -> #
|
||||
Tuple : # -> Type
|
||||
tnil : Tuple 0
|
||||
tcons : forall n : #, int -> Tuple n -> Tuple (S n)</code></pre>
|
||||
<p>or</p>
|
||||
<pre><code>Tuple : forall n : #, Type;
|
||||
tcons : forall n : #, forall hd : int, forall tl : Tuple n, Tuple (S n)</code></pre>
|
||||
<p>Note that in this case the constructor <code>tnil</code> does not depend on the parameter <em>n</em>, while <code>tcons</code> does.</p>
|
||||
<p>In an analogous manner, it is possible to define a complete binary tree of height <em>h</em> with strings in the leaf nodes:</p>
|
||||
<pre><code>tleaf value:string = BinTree 0;
|
||||
tnode {h:#} left:(BinTree h) right:(BinTree h) = BinTree (S h);</code></pre>
|
||||
<p>Or a random tree whose leaf nodes are all a distance of <em>h</em> from the root and whose nodes are all labeled with integers:</p>
|
||||
<pre><code>hleaf value:int = Tree 0;
|
||||
hnode {n:#} left:(Tree n) next:(Tree (S n)) = Tree (S n)
|
||||
hnil {n:#} = Tree (S n)</code></pre>
|
||||
<p>Another version:</p>
|
||||
<pre><code>hleaf' value:int = Tree' 0;
|
||||
hnode' {n:#} children:(list (Tree' n)) = Tree' (S n)</code></pre>
|
||||
<h2><a class="anchor" href="#polymorphic-dependent-types" id="polymorphic-dependent-types" name="polymorphic-dependent-types"><i class="anchor-icon"></i></a>Polymorphic dependent types</h2>
|
||||
<p>Let us try to define a type <code>Tuple X n</code> whose values are <em>n</em>-tuples of type <code>X</code> values. In this way, <code>Tuple</code> will be simultaneously polymorphic and dependent:</p>
|
||||
<pre><code>Tuple : Type -> # -> Type;</code></pre>
|
||||
<p>In the familiar syntax of functional languages:</p>
|
||||
<pre><code>NewType Tuple {X : Type} {n : #} :=
|
||||
| vnil : Tuple X 0
|
||||
| vcons {n:#} hd:X tl:%(Tuple X n) : Tuple X (S n)
|
||||
EndType</code></pre>
|
||||
<p>or, in TL syntax,</p>
|
||||
<pre><code>vnil {X:Type} = Tuple X 0;
|
||||
vcons {X:Type} {n:#} tl:(%Tuple X n) = Tuple X S n</code></pre>
|
||||
<p>In the end we obtain terms for the following types:</p>
|
||||
<pre><code>vnil : forall X : Type, Tuple X 0
|
||||
vcons : forall X : Type, forall n : #, X -> Tuple X n -> Tuple X (S n)</code></pre>
|
||||
<p>or</p>
|
||||
<pre><code>vnil : forall X : Type, Tuple X 0
|
||||
vcons : forall X : Type, forall n : #, forall hd : X, forall tl : Tuple X n, Tuple X (S n)</code></pre>
|
||||
<h2><a class="anchor" href="#dependent-sums" id="dependent-sums" name="dependent-sums"><i class="anchor-icon"></i></a>Dependent sums</h2>
|
||||
<p>The <code>Tuple</code> we just defined differs from the built-in <code>Vector</code> type. Specifically, the <code>Vector</code> type formally depends on a single argument (a type), but our <code>Tuple</code> depends on two (a type and a number):</p>
|
||||
<pre><code>Tuple : Type -> # -> Type;
|
||||
Vector : Type -> Type;</code></pre>
|
||||
<p>The built-in <code>Vector</code> could be defined in terms of our <code>Tuple</code> using “summing across all <em>n</em> : #":</p>
|
||||
<pre><code>vector {X:Type} n:# v:(%Tuple X n) = Vector X;</code></pre>
|
||||
<p>Nevertheless, our <code>Tuple</code> has its advantages. For example, we can define data types such as:</p>
|
||||
<pre><code>matrix_10x10 a:(%Tuple (%Tuple double 10) 10) = Matrix_10x10;</code></pre>
|
||||
<p>In any event, remember that during calculation of the <code>matrix_10x10</code> combinator’s number, all parentheses must be removed and the CRC32 of the string <code>matrix_10x10 a:%Tuple %Tuple double 10 10 = Matrix_10x10</code> must be computed.</p>
|
||||
<p>Moreover, we can define arbitrarily-sized matrices:</p>
|
||||
<pre><code>matrix {X:Type} m:# n:# a:(%Tuple (%Tuple X m) n) = Matrix X;</code></pre>
|
||||
<p>In this case using vector would result in storing the length of a row (<em>m</em>) in each row, e.g. <em>n</em> times.</p>
|
||||
<p>Note that the serializations of values of type <code>%Tuple X n</code> and <code>vector X</code> (also known as <code>%vector X</code> and <code>%Vector X</code>) nearly match when <em>n > 0</em>: in both cases we obtain a single 32-bit number (equal to <em>n-1</em> or <em>n</em> depending on the version) followed by the serializations of <em>n</em> objects of type <em>X</em>. (This is slightly untrue: values of type <code>%Tuple X n</code> can only be serialized if <em>n</em> is a constant or value known from one of the preceding fields of the enclosing entry; but then this <em>n</em> won’t be serialized explicitly anywhere).</p>
|
||||
<h2><a class="anchor" href="#special-syntax-for-repetitions" id="special-syntax-for-repetitions" name="special-syntax-for-repetitions"><i class="anchor-icon"></i></a>Special syntax for repetitions</h2>
|
||||
<p>In view of the importance of the construction presented above, it is built into the TL language in the following manner. A substructure in the form of [ <em>array-field-name</em> ":" ] [ <em>nat-ident</em> "<em>" ] "[" </em>field-descr<em> ... "]” may be used in the declaration of any combinator, where </em>nat-ident* is the name of any previously encountered field of type # (if it is not explicitly indicated, the most recent is used). In abstract, this substructure is equivalent to:</p>
|
||||
<pre><code>aux_type *field-descr* ... = AuxType;
|
||||
*current_constructor* ... [ *array-field-name* ":" ] (%Tuple aux_type *nat-ident*)</code></pre>
|
||||
<p>For example, 10x10 matrices, vectors, and arbitrary matrices may be defined in the following way:</p>
|
||||
<pre><code>matrix {X:Type} m:# n:# a:n*[ m*[ X ] ] = Matrix X;
|
||||
matrix_10x10 a:10*[ 10*[ double ]] = Matrix_10x10;
|
||||
vector {X:Type} # [ X ] = Vector X;</code></pre>
|
||||
<p>We have already encountered the last version as a “definition” of the “built-in type” <code>Vector</code>.</p>
|
||||
<p>Of course, several fields, as complex as desired, may be within the repeating part. Furthermore, besides using <em>n</em> as a repeat counter, one may use expressions of the form <em>(n+const)</em> and <em>(const+n)</em>, where <em>const</em> is a small nonnegative constant, which are shorthand for <em>S (S ( ... (S n) ... ))</em>:</p>
|
||||
<pre><code>repeat_np1 n:# a:(S n)*[ key:string value:string ] = Dictionary;</code></pre>
|
||||
<p>To calculate the CRC32 these expressions are converted to expressions of the form <code>(const+X)</code> without internal spaces. Additionally, the <code>*</code> in this case is not set off by spaces on the left and right.</p>
|
||||
<h2><a class="anchor" href="#serialization-of-dependent-types" id="serialization-of-dependent-types" name="serialization-of-dependent-types"><i class="anchor-icon"></i></a>Serialization of dependent types</h2>
|
||||
<p>Serialization of dependent types and polymorphic types is not a fundamental challenge: we have combinators with non-zero arity with Type values. For example, the type <code>Tuple double 10 : Type</code> serializes to <code>'Tuple' '%double' 10</code>. Note that at present in practice there is virtually no need to serialize types, whether dependent or not.</p>
|
||||
<h2><a class="anchor" href="#optional-combinator-parameters-in-tl" id="optional-combinator-parameters-in-tl" name="optional-combinator-parameters-in-tl"><i class="anchor-icon"></i></a>Optional combinator parameters in TL</h2>
|
||||
<p>Optional combinator parameters in TL must possess the following properties:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Optional parameters must be precisely ythe combinator’s first several arguments;</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The value of any optional parameter must be entirely determined by the combinator’s result type.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>For example, in <code>cons {X:Type} hd:X tl:(list X) = list X</code> the parameter <code>X</code> may be made optional, because it is located at the very beginning of the argument list and is unambiguously determined by the <code>list X</code> result type. Similarly, in <code>tcons {X:Type} {n:#} hd:X tl:(%Tuple X n) = Tuple X (S n)</code> the values of X and n are completely determined based on the <code>Tuple X (S n)</code> result type, therefore they made be made optional parameters.</p>
|
||||
<p>It usually makes sense to move all of a constructor’s arguments satisfying the second condition to the beginning of the list, arrange them in the order they appear in the result type’s parameters, and make them optional. Given such an approach, the full version of a constructor is rarely needed -- only when we want to transmit the value of the polymorphic or dependent type as a value of type Object. In all other cases, the type of the expected value from the context is already known, which means that all optional parameters can be recovered during decomposition.</p>
|
||||
<p>See also <a href="/mtproto/TL-optargs">Optional combinator parameters and their values</a>.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Optional combinator parameters and their values</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="TL Language makes it possible to declare a combinator’s first few parameters optional. Subsequently, they are almost never…">
|
||||
<meta property="og:title" content="Optional combinator parameters and their values">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="TL Language makes it possible to declare a combinator’s first few parameters optional. Subsequently, they are almost never…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-optargs" >Optional combinator parameters and their…</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Optional combinator parameters and their values</h1>
|
||||
|
||||
<div id="dev_page_content"><p><a href="TL">TL Language</a> makes it possible to declare a combinator’s first few parameters optional. Subsequently, they are almost never required to be explicitly stated. This is directly related to another important property of TL: <a href="TL-polymorph">polymorphism</a>.</p>
|
||||
<p>All optional parameters are typically required to be part of the result type (at least once).</p>
|
||||
<p>A (sub)expression may be serialized/deserialized in one of two ways:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>The result type is known (for example, we’re parsing the response to a previously sent RPC query and therefore know the value of some type is expected). In this case, the result type may be used to determine the values of the combinator’s implicit parameters.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The result type is not known. It is determined as a result of (de)serialization (for example, we are serializing an RPC query). In this case, it is necessary to explicitly specify (and serialize) all of the combinator’s optional parameters by using the full version of the combinator.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>We will assume that the functional combinator only differs from the constructor in that before its result type the <code>!</code> modifier is implicitly added, and the (remote or local) computation of a functional expression may be presented as the execution of some polymorphic function <code>eval : !X -> X</code>.</p>
|
||||
<p>Moreover, the unknown result type is obviously usually (but not always) bound to the serialization of an expression whose type has been modified by <code>!</code>.</p>
|
||||
<p>We can formulate the following rules. Let there be some constructor</p>
|
||||
<pre><code>C {a1:T1} ... {am:Tm} b1:U1 ... bn:Un = T;</code></pre>
|
||||
<p>Some of its arguments or its result may be marked with the <code>!</code> modifier (We consider a functional combinator to be a constructor whose result type has been modified by an implicit <code>!</code>).</p>
|
||||
<p>The following conditions must hold:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Each type <em>T1</em>, ..., <em>Tm</em>, <em>U1</em>, ..., <em>Un</em>, and <em>T</em> may depend on parameters of type <code>Type</code> or <code>#</code>, which have been declared to the left of the use of the given type.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>The types of implicit parameters <em>T1</em>, ..., <em>Tm</em> may not be modified by <code>!</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Only implicit parameters of type <code>Type</code> or <code>#</code> are allowed. In other words, <em>Ti</em> is either a <code>Type</code> or a <code>#</code>. (Unlike the previous rule, this rule may be relaxed in the future.)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Each implicit parameter <em>a1</em>, ..., <em>am</em> must be used at least once -- either within one of the <em>Ui</em> types that have a <code>!</code>, or in the result type <em>T</em>, <em>if it does not have an explicit or implicit <code>!</code></em>. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>If an implicit parameter <em>ai</em> is not used in the result type, or if the result type has a <code>!</code>, then its first (leftmost) usage must be within a type <em>Uj</em> that is modified by <code>!</code>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The idea is this: we assume that during (de)serialization of a value of a type modified by <code>!</code> that we do not know this type in advance and we will find out what it is only based on the result of the (de)serialization; Conversely, we assume that during (de)serialization of a value of a type that is not modified by <code>!</code> that we know this type in advance. In this case, complying with the rules stated above lets us always compute the values of all implicit parameters -- either from the (previously known) result type or from the type of one of the <code>bj:!Uj</code> parameters (which was obtained during the serialization process).</p>
|
||||
<p>In fact, <code>!</code> denotes the direction in which type information is flowing. By default, the result type is the source of information about types (and their parameters), while argument types are the recipients of that information. The use of <code>!</code> reverses the direction of information flow, making the result type the recipient and the argument type the source of type information.</p>
|
||||
<p>See also <a href="TL-abstract-types">Binary serialization and abstract TL types</a> and <a href="TL-polymorph">Polymorphism in TL</a>.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TL-patterns</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="partial-app-decl ::= partial-type-app-decl | partial-comb-app-decl
|
||||
partial-type-app-decl ::= boxed-type-ident subexpr …">
|
||||
<meta property="og:title" content="TL-patterns">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="partial-app-decl ::= partial-type-app-decl | partial-comb-app-decl
|
||||
partial-type-app-decl ::= boxed-type-ident subexpr …">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-patterns" >TL-patterns</a></li></ul></div>
|
||||
<h1 id="dev_page_title">TL-patterns</h1>
|
||||
|
||||
<div id="dev_page_content"><div class="richcode">
|
||||
<p><em>partial-app-decl</em> ::= <em>partial-type-app-decl</em> | <em>partial-comb-app-decl</em><br>
|
||||
<em>partial-type-app-decl</em> ::= <em>boxed-type-ident</em> <em>subexpr</em> { <em>subexpr</em> } <code>;</code> | <em>boxed-type-ident</em> <code><</code> <em>expr</em> { <code>,</code> <em>expr</em> } <code>></code> <code>;</code><br>
|
||||
<em>partial-comb-app-decl</em> ::= <em>combinator-id</em> <em>subexpr</em> { <em>subexpr</em> } <code>;</code> </p>
|
||||
</div>
|
||||
<p>According to the original design, templates must be used to replace concrete values in the first few or all of the optional arguments of a constructor or polymorphic type. For example, if <code>Tuple int 10</code> is used frequently, you can declare a template for it, which will cause the appropriate constructors to be generated automatically. When using such a constructor there may be nowhere to pass an <code>int</code> type or the tuple size <code>10</code>. Similarly, it was originally planned to declared templates for <code>Vector int</code>, <code>Vector string</code>, etc. in order to generate constructors for each vector type being used type. These constructors would make it possible during deserialization to determine what kind of array is being transmitted.</p>
|
||||
<p>Templates are not used now. Instead, the same universal constructors (for example, <code>vector {t:Type} [t] = Vector t</code>) are used with the values of the optional parameters being inferred from the type of the result (if we already know from the schema that in this location there must be a <code>Vector int</code> during deserialization, we understand that we will see the universal <code>vector</code> constructor in which <em>t</em> is equal to <code>int</code>).</p>
|
||||
<p>This approach is better in that it is not necessary to define <code>Vector SomeType</code> templates in advance for all possible types in order to generate their own constructors for each of these cases. Nevertheless, there is a drawback. If someone wants to transmit the serialization of a value of the clothed type <code>Vector int</code> as a serialization of a value of type <code>Object</code>, a problem arises during serialization: after seeing the universal <code>vector</code> constructor and then reading the vector length, we cannot determine what type of values should be expected next.</p>
|
||||
<p>In theory, this problem can be solved by using the full form of the constructor (<code>@vector</code>) corresponding to <code>vector</code> (it is automatically defined and is different in that all of the optional parameters become required), or by defining</p>
|
||||
<div class="richcode">
|
||||
<p>object X:Type X = TypedObject </p>
|
||||
</div>
|
||||
<p>and passing the object type explicitly. <a href="TL-types">Type serialization</a> is required in both cases.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,308 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TL schema for serialization of TL schemas</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="If necessary, a TL schema can be serialized in binary form. Here, this serialization format is defined by a TL schema (usually…">
|
||||
<meta property="og:title" content="TL schema for serialization of TL schemas">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="If necessary, a TL schema can be serialized in binary form. Here, this serialization format is defined by a TL schema (usually…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL-tl" >TL schema for serialization of TL schemas</a></li></ul></div>
|
||||
<h1 id="dev_page_title">TL schema for serialization of TL schemas</h1>
|
||||
|
||||
<div id="dev_page_content"><p>If necessary, a <a href="TL">TL</a> schema can be serialized in binary form. Here, this serialization format is defined by a TL schema (usually stored in the file <code>tl.tl</code>). This can be useful, for example, to make it possible to write a parser one time for converting a TL schema from text form (stored in the file <code>something.tl</code>) to binary form (stored in the file <code>something.tlo</code>). All other programs (for example, auto-generators of TL-(de)serializers for various programming languages) only need to know how to read <code>.tlo</code> files, which only requires generating an automatic deserializer according to the schema presented below.</p>
|
||||
<p>First, a fragment of the file <code>common.tl</code> with certain required built-in types:</p>
|
||||
<pre><code>/////
|
||||
//
|
||||
// Common Types (source file common.tl, only necessary definitions included)
|
||||
//
|
||||
/////
|
||||
|
||||
// Built-in types
|
||||
int ? = Int;
|
||||
long ? = Long;
|
||||
double ? = Double;
|
||||
string ? = String;
|
||||
|
||||
// Boolean emulation
|
||||
boolFalse = Bool;
|
||||
boolTrue = Bool;
|
||||
|
||||
// Vector
|
||||
vector {t:Type} # [t] = Vector t;
|
||||
tuple {t:Type} {n:#} [t] = Tuple t n;
|
||||
vectorTotal {t:Type} total_count:int vector:%(Vector t) = VectorTotal t;
|
||||
|
||||
Empty False;
|
||||
true = True;</code></pre>
|
||||
<p>Next, properly, comes <code>tl.tl</code> itself. Note that the declaration for a fairly complex data type required only twenty lines in TL. This demonstrates the expressiveness and compactness of the TL language.</p>
|
||||
<pre><code>/////
|
||||
//
|
||||
// Serialized binary TL-schema in TL format, source file tl.tl
|
||||
//
|
||||
/////
|
||||
tls.schema_v2 version:int date:int types_num:# types:types_num*[tls.Type]
|
||||
|
||||
constructor_num:# constructors:constructor_num*[tls.Combinator]
|
||||
functions_num:# functions:functions_num*[tls.Combinator] = tls.Schema;
|
||||
tls.type name:int id:string constructors_num:int flags:int arity:int params_type:long = tls.Type;
|
||||
|
||||
tls.combinator name:int id:string type_name:int left:tls.CombinatorLeft right:tls.CombinatorRight = tls.Combinator;
|
||||
tls.combinatorLeftBuiltin = tls.CombinatorLeft;
|
||||
tls.combinatorLeft args_num:# args:args_num*[tls.Arg] = tls.CombinatorLeft;
|
||||
tls.combinatorRight value:tls.TypeExpr = tls.CombinatorRight;
|
||||
|
||||
tls.arg id:string flags:# var_num:flags.1?int exist_var_num:flags.2?int exist_var_bit:flags.2?int type:tls.TypeExpr = tls.Arg;
|
||||
|
||||
tls.exprType _:tls.TypeExpr = tls.Expr;
|
||||
|
||||
tls.exprNat _:tls.NatExpr = tls.Expr;
|
||||
tls.natConst value:int = tls.NatExpr;
|
||||
|
||||
tls.natVar dif:int var_num:int = tls.NatExpr;
|
||||
tls.typeVar var_num:int flags:int = tls.TypeExpr;
|
||||
|
||||
tls.array multiplicity:tls.NatExpr args_num:# args:args_num*[tls.Arg] = tls.TypeExpr;
|
||||
tls.typeExpr name:int flags:int children_num:# children:children_num*[tls.Expr] = tls.TypeExpr;</code></pre>
|
||||
<h2><a class="anchor" href="#remarks" id="remarks" name="remarks"><i class="anchor-icon"></i></a>Remarks</h2>
|
||||
<p>Schema serialization (version 2) always begins with the index number of the <code>tls.schema_v2</code> constructor for <code>tls.Schema</code>.
|
||||
Because the CRC32 of the string</p>
|
||||
<pre><code>tls.schema_v2 version:int date:int types_num:# types:types_num*[ tls.Type ] constructor_num:# constructors:constructor_num*[ tls.Combinator ] functions_num:# functions:functions_num*[ tls.Combinator ] = tls.Schema</code></pre>
|
||||
<p>is 0x3a2f9be2, this constant is in fact the magic number for tlo files in the current version’s format.
|
||||
If the format is extended in the future (for example, if TL’s additional features are supported), then a <code>tls.schema_v3</code> constructor with a different number will appear.</p>
|
||||
<h2><a class="anchor" href="#example" id="example" name="example"><i class="anchor-icon"></i></a>Example</h2>
|
||||
<p>If one adds declarations for the used built-in types (like <code>int ? = Int;</code>) from the file <code>common.tl</code> before <code>tl.tl</code> and serialize the resulting schema, the following binary data is obtained (<code>tl.tlo</code>):</p>
|
||||
<div class="richcode">
|
||||
<p><strong>0000</strong>: 3a2f9be2 00000000 51fec698 00000015 12eb4386 70659eff 00002301 00000000<br>
|
||||
<strong>0020</strong>: 00000000 00000000 00000000 00000000 12eb4386 250be282 6f6f4204 0000006c<br>
|
||||
<strong>0040</strong>: 00000002 02000010 00000000 00000000 00000000 12eb4386 2210c154 756f4406<br>
|
||||
<strong>0060</strong>: 00656c62 00000001 02000000 00000000 00000000 00000000 12eb4386 00000000<br>
|
||||
<strong>0080</strong>: 6c614605 00006573 00000000 00000401 00000000 00000000 00000000 12eb4386<br>
|
||||
<strong>00a0</strong>: a8509bda 746e4903 00000001 02000001 00000000 00000000 00000000 12eb4386<br>
|
||||
<strong>00c0</strong>: 22076cba 6e6f4c04 00000067 00000001 02000001 00000000 00000000 00000000<br>
|
||||
<strong>00e0</strong>: 12eb4386 b5286e24 72745306 00676e69 00000001 02000001 00000000 00000000<br>
|
||||
<strong>0100</strong>: 00000000 12eb4386 3fedd339 75725404 00000065 00000001 02000000 00000000<br>
|
||||
<strong>0120</strong>: 00000000 00000000 12eb4386 9770768a 70755405 0000656c 00000001 02000000<br>
|
||||
<strong>0140</strong>: 00000002 00000002 00000000 12eb4386 2cecf817 70795404 00000065 00000000<br>
|
||||
<strong>0160</strong>: 00000000 00000000 00000000 00000000 12eb4386 1cb5c415 63655606 00726f74<br>
|
||||
<strong>0180</strong>: 00000001 02000008 00000001 00000000 00000000 12eb4386 10133f47 6365560b<br>
|
||||
<strong>01a0</strong>: 54726f74 6c61746f 00000001 02000000 00000001 00000000 00000000 12eb4386<br>
|
||||
<strong>01c0</strong>: 29dfe61b 736c7407 6772412e 00000001 02000000 00000000 00000000 00000000<br>
|
||||
<strong>01e0</strong>: 12eb4386 5c0a1ed5 736c740e 6d6f432e 616e6962 00726f74 00000001 02000000<br>
|
||||
<strong>0200</strong>: 00000000 00000000 00000000 12eb4386 8133d9ba 736c7412 6d6f432e 616e6962<br>
|
||||
<strong>0220</strong>: 4c726f74 00746665 00000002 02000010 00000000 00000000 00000000 12eb4386<br>
|
||||
<strong>0240</strong>: 2c064372 736c7413 6d6f432e 616e6962 52726f74 74686769 00000001 02000000<br>
|
||||
<strong>0260</strong>: 00000000 00000000 00000000 12eb4386 307d41a0 736c7408 7078452e 00000072<br>
|
||||
<strong>0280</strong>: 00000002 02000010 00000000 00000000 00000000 12eb4386 c2635441 736c740b<br>
|
||||
<strong>02a0</strong>: 74614e2e 72707845 00000002 02000010 00000000 00000000 00000000 12eb4386<br>
|
||||
<strong>02c0</strong>: 3a2f9be2 736c740a 6863532e 00616d65 00000001 02000000 00000000 00000000<br>
|
||||
<strong>02e0</strong>: 00000000 12eb4386 12eb4386 736c7408 7079542e 00000065 00000001 02000000<br>
|
||||
<strong>0300</strong>: 00000000 00000000 00000000 12eb4386 193fd378 736c740c 7079542e 70784565<br>
|
||||
<strong>0320</strong>: 00000072 00000003 02000010 00000000 00000000 00000000 00000018 5c0a1ed5<br>
|
||||
<strong>0340</strong>: bc799737 6f6f6209 6c61466c 00006573 250be282 4c12c6d9 00000000 2c064372<br>
|
||||
<strong>0360</strong>: c1863d08 250be282 00000000 00000000 5c0a1ed5 997275b5 6f6f6208 7572546c<br>
|
||||
<strong>0380</strong>: 00000065 250be282 4c12c6d9 00000000 2c064372 c1863d08 250be282 00000000<br>
|
||||
<strong>03a0</strong>: 00000000 5c0a1ed5 2210c154 756f6406 00656c62 2210c154 cd211f63 2c064372<br>
|
||||
<strong>03c0</strong>: c1863d08 2210c154 00000000 00000000 5c0a1ed5 a8509bda 746e6903 a8509bda<br>
|
||||
<strong>03e0</strong>: cd211f63 2c064372 c1863d08 a8509bda 00000000 00000000 5c0a1ed5 22076cba<br>
|
||||
<strong>0400</strong>: 6e6f6c04 00000067 22076cba cd211f63 2c064372 c1863d08 22076cba 00000000<br>
|
||||
<strong>0420</strong>: 00000000 5c0a1ed5 b5286e24 72747306 00676e69 b5286e24 cd211f63 2c064372<br>
|
||||
<strong>0440</strong>: c1863d08 b5286e24 00000000 00000000 5c0a1ed5 3fedd339 75727404 00000065<br>
|
||||
<strong>0460</strong>: 3fedd339 4c12c6d9 00000000 2c064372 c1863d08 3fedd339 00000000 00000000<br>
|
||||
<strong>0480</strong>: 5c0a1ed5 9770768a 70757405 0000656c 9770768a 4c12c6d9 00000003 29dfe61b<br>
|
||||
<strong>04a0</strong>: 00007401 00020005 00000000 c1863d08 2cecf817 00000000 00000000 29dfe61b<br>
|
||||
<strong>04c0</strong>: 00006e01 00020005 00000001 c1863d08 70659eff 00000000 00000000 29dfe61b<br>
|
||||
<strong>04e0</strong>: 00000000 00000000 d9fb20de 4e8a14f0 00000000 00000001 00000001 29dfe61b<br>
|
||||
<strong>0500</strong>: 00000000 00000000 0142ceae 00000000 00000000 2c064372 c1863d08 9770768a<br>
|
||||
<strong>0520</strong>: 00000000 00000002 ecc9da78 0142ceae 00000000 00000000 dcb49bd8 4e8a14f0<br>
|
||||
<strong>0540</strong>: 00000000 00000001 5c0a1ed5 1cb5c415 63657606 00726f74 1cb5c415 4c12c6d9<br>
|
||||
<strong>0560</strong>: 00000003 29dfe61b 00007401 00020005 00000000 c1863d08 2cecf817 00000000<br>
|
||||
<strong>0580</strong>: 00000000 29dfe61b 00000000 00000004 00000001 c1863d08 70659eff 00000000<br>
|
||||
<strong>05a0</strong>: 00000000 29dfe61b 00000000 00000000 d9fb20de 4e8a14f0 00000000 00000001<br>
|
||||
<strong>05c0</strong>: 00000001 29dfe61b 00000000 00000000 0142ceae 00000000 00000000 2c064372<br>
|
||||
<strong>05e0</strong>: c1863d08 1cb5c415 00000000 00000001 ecc9da78 0142ceae 00000000 00000000<br>
|
||||
<strong>0600</strong>: 5c0a1ed5 10133f47 6365760b 54726f74 6c61746f 10133f47 4c12c6d9 00000003<br>
|
||||
<strong>0620</strong>: 29dfe61b 00007401 00020005 00000000 c1863d08 2cecf817 00000000 00000000<br>
|
||||
<strong>0640</strong>: 29dfe61b 746f740b 635f6c61 746e756f 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0660</strong>: 00000000 29dfe61b 63657606 00726f74 00000000 c1863d08 1cb5c415 00000001<br>
|
||||
<strong>0680</strong>: 00000001 ecc9da78 0142ceae 00000000 00000000 2c064372 c1863d08 10133f47<br>
|
||||
<strong>06a0</strong>: 00000000 00000001 ecc9da78 0142ceae 00000000 00000000 5c0a1ed5 29dfe61b<br>
|
||||
<strong>06c0</strong>: 736c7407 6772612e 29dfe61b 4c12c6d9 00000006 29dfe61b 00646902 00000000<br>
|
||||
<strong>06e0</strong>: c1863d08 b5286e24 00000001 00000000 29dfe61b 616c6605 00007367 00000004<br>
|
||||
<strong>0700</strong>: 00000000 c1863d08 70659eff 00000000 00000000 29dfe61b 72617607 6d756e5f<br>
|
||||
<strong>0720</strong>: 00000002 00000000 00000001 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>0740</strong>: 6978650d 765f7473 6e5f7261 00006d75 00000002 00000000 00000002 c1863d08<br>
|
||||
<strong>0760</strong>: a8509bda 00000001 00000000 29dfe61b 6978650d 765f7473 625f7261 00007469<br>
|
||||
<strong>0780</strong>: 00000002 00000000 00000002 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>07a0</strong>: 70797404 00000065 00000000 c1863d08 193fd378 00000000 00000000 2c064372<br>
|
||||
<strong>07c0</strong>: c1863d08 29dfe61b 00000000 00000000 5c0a1ed5 5c0a1ed5 736c740e 6d6f632e<br>
|
||||
<strong>07e0</strong>: 616e6962 00726f74 5c0a1ed5 4c12c6d9 00000005 29dfe61b 6d616e04 00000065<br>
|
||||
<strong>0800</strong>: 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b 00646902 00000000<br>
|
||||
<strong>0820</strong>: c1863d08 b5286e24 00000001 00000000 29dfe61b 70797409 616e5f65 0000656d<br>
|
||||
<strong>0840</strong>: 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b 66656c04 00000074<br>
|
||||
<strong>0860</strong>: 00000000 c1863d08 8133d9ba 00000000 00000000 29dfe61b 67697205 00007468<br>
|
||||
<strong>0880</strong>: 00000000 c1863d08 2c064372 00000000 00000000 2c064372 c1863d08 5c0a1ed5<br>
|
||||
<strong>08a0</strong>: 00000000 00000000 5c0a1ed5 cd211f63 736c7419 6d6f632e 616e6962 4c726f74<br>
|
||||
<strong>08c0</strong>: 42746665 746c6975 00006e69 8133d9ba 4c12c6d9 00000000 2c064372 c1863d08<br>
|
||||
<strong>08e0</strong>: 8133d9ba 00000000 00000000 5c0a1ed5 4c12c6d9 736c7412 6d6f632e 616e6962<br>
|
||||
<strong>0900</strong>: 4c726f74 00746665 8133d9ba 4c12c6d9 00000002 29dfe61b 67726108 756e5f73<br>
|
||||
<strong>0920</strong>: 0000006d 00000004 00000000 c1863d08 70659eff 00000000 00000000 29dfe61b<br>
|
||||
<strong>0940</strong>: 67726104 00000073 00000000 d9fb20de 4e8a14f0 00000000 00000000 00000001<br>
|
||||
<strong>0960</strong>: 29dfe61b 00000000 00000000 c1863d08 29dfe61b 00000000 00000000 2c064372<br>
|
||||
<strong>0980</strong>: c1863d08 8133d9ba 00000000 00000000 5c0a1ed5 2c064372 736c7413 6d6f632e<br>
|
||||
<strong>09a0</strong>: 616e6962 52726f74 74686769 2c064372 4c12c6d9 00000001 29dfe61b 6c617605<br>
|
||||
<strong>09c0</strong>: 00006575 00000000 c1863d08 193fd378 00000000 00000000 2c064372 c1863d08<br>
|
||||
<strong>09e0</strong>: 2c064372 00000000 00000000 5c0a1ed5 ecc9da78 736c740c 7078652e 70795472<br>
|
||||
<strong>0a00</strong>: 00000065 307d41a0 4c12c6d9 00000001 29dfe61b 00000000 00000000 c1863d08<br>
|
||||
<strong>0a20</strong>: 193fd378 00000000 00000000 2c064372 c1863d08 307d41a0 00000000 00000000<br>
|
||||
<strong>0a40</strong>: 5c0a1ed5 dcb49bd8 736c740b 7078652e 74614e72 307d41a0 4c12c6d9 00000001<br>
|
||||
<strong>0a60</strong>: 29dfe61b 00000000 00000000 c1863d08 c2635441 00000000 00000000 2c064372<br>
|
||||
<strong>0a80</strong>: c1863d08 307d41a0 00000000 00000000 5c0a1ed5 8ce940b1 736c740c 74616e2e<br>
|
||||
<strong>0aa0</strong>: 736e6f43 00000074 c2635441 4c12c6d9 00000001 29dfe61b 6c617605 00006575<br>
|
||||
<strong>0ac0</strong>: 00000000 c1863d08 a8509bda 00000001 00000000 2c064372 c1863d08 c2635441<br>
|
||||
<strong>0ae0</strong>: 00000000 00000000 5c0a1ed5 4e8a14f0 736c740a 74616e2e 00726156 c2635441<br>
|
||||
<strong>0b00</strong>: 4c12c6d9 00000002 29dfe61b 66696403 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0b20</strong>: 00000000 29dfe61b 72617607 6d756e5f 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0b40</strong>: 00000000 2c064372 c1863d08 c2635441 00000000 00000000 5c0a1ed5 3a2f9be2<br>
|
||||
<strong>0b60</strong>: 736c740d 6863732e 5f616d65 00003276 3a2f9be2 4c12c6d9 00000008 29dfe61b<br>
|
||||
<strong>0b80</strong>: 72657607 6e6f6973 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>0ba0</strong>: 74616404 00000065 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>0bc0</strong>: 70797409 6e5f7365 00006d75 00000004 00000000 c1863d08 70659eff 00000000<br>
|
||||
<strong>0be0</strong>: 00000000 29dfe61b 70797405 00007365 00000000 d9fb20de 4e8a14f0 00000000<br>
|
||||
<strong>0c00</strong>: 00000000 00000001 29dfe61b 00000000 00000000 c1863d08 12eb4386 00000000<br>
|
||||
<strong>0c20</strong>: 00000000 29dfe61b 6e6f630f 75727473 726f7463 6d756e5f 00000004 00000001<br>
|
||||
<strong>0c40</strong>: c1863d08 70659eff 00000000 00000000 29dfe61b 6e6f630c 75727473 726f7463<br>
|
||||
<strong>0c60</strong>: 00000073 00000000 d9fb20de 4e8a14f0 00000000 00000001 00000001 29dfe61b<br>
|
||||
<strong>0c80</strong>: 00000000 00000000 c1863d08 5c0a1ed5 00000000 00000000 29dfe61b 6e75660d<br>
|
||||
<strong>0ca0</strong>: 6f697463 6e5f736e 00006d75 00000004 00000002 c1863d08 70659eff 00000000<br>
|
||||
<strong>0cc0</strong>: 00000000 29dfe61b 6e756609 6f697463 0000736e 00000000 d9fb20de 4e8a14f0<br>
|
||||
<strong>0ce0</strong>: 00000000 00000002 00000001 29dfe61b 00000000 00000000 c1863d08 5c0a1ed5<br>
|
||||
<strong>0d00</strong>: 00000000 00000000 2c064372 c1863d08 3a2f9be2 00000000 00000000 5c0a1ed5<br>
|
||||
<strong>0d20</strong>: 12eb4386 736c7408 7079742e 00000065 12eb4386 4c12c6d9 00000006 29dfe61b<br>
|
||||
<strong>0d40</strong>: 6d616e04 00000065 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>0d60</strong>: 00646902 00000000 c1863d08 b5286e24 00000001 00000000 29dfe61b 6e6f6310<br>
|
||||
<strong>0d80</strong>: 75727473 726f7463 756e5f73 0000006d 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0da0</strong>: 00000000 29dfe61b 616c6605 00007367 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0dc0</strong>: 00000000 29dfe61b 69726105 00007974 00000000 c1863d08 a8509bda 00000001<br>
|
||||
<strong>0de0</strong>: 00000000 29dfe61b 7261700b 5f736d61 65707974 00000000 c1863d08 22076cba<br>
|
||||
<strong>0e00</strong>: 00000001 00000000 2c064372 c1863d08 12eb4386 00000000 00000000 5c0a1ed5<br>
|
||||
<strong>0e20</strong>: 0142ceae 736c740b 7079742e 72615665 193fd378 4c12c6d9 00000002 29dfe61b<br>
|
||||
<strong>0e40</strong>: 72617607 6d756e5f 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b<br>
|
||||
<strong>0e60</strong>: 616c6605 00007367 00000000 c1863d08 a8509bda 00000001 00000000 2c064372<br>
|
||||
<strong>0e80</strong>: c1863d08 193fd378 00000000 00000000 5c0a1ed5 d9fb20de 736c7409 7272612e<br>
|
||||
<strong>0ea0</strong>: 00007961 193fd378 4c12c6d9 00000003 29dfe61b 6c756d0c 6c706974 74696369<br>
|
||||
<strong>0ec0</strong>: 00000079 00000000 c1863d08 c2635441 00000000 00000000 29dfe61b 67726108<br>
|
||||
<strong>0ee0</strong>: 756e5f73 0000006d 00000004 00000000 c1863d08 70659eff 00000000 00000000<br>
|
||||
<strong>0f00</strong>: 29dfe61b 67726104 00000073 00000000 d9fb20de 4e8a14f0 00000000 00000000<br>
|
||||
<strong>0f20</strong>: 00000001 29dfe61b 00000000 00000000 c1863d08 29dfe61b 00000000 00000000<br>
|
||||
<strong>0f40</strong>: 2c064372 c1863d08 193fd378 00000000 00000000 5c0a1ed5 c1863d08 736c740c<br>
|
||||
<strong>0f60</strong>: 7079742e 70784565 00000072 193fd378 4c12c6d9 00000004 29dfe61b 6d616e04<br>
|
||||
<strong>0f80</strong>: 00000065 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b 616c6605<br>
|
||||
<strong>0fa0</strong>: 00007367 00000000 c1863d08 a8509bda 00000001 00000000 29dfe61b 6968630c<br>
|
||||
<strong>0fc0</strong>: 6572646c 756e5f6e 0000006d 00000004 00000000 c1863d08 70659eff 00000000<br>
|
||||
<strong>0fe0</strong>: 00000000 29dfe61b 69686308 6572646c 0000006e 00000000 d9fb20de 4e8a14f0<br>
|
||||
<strong>1000</strong>: 00000000 00000000 00000001 29dfe61b 00000000 00000000 c1863d08 307d41a0<br>
|
||||
<strong>1020</strong>: 00000000 00000000 2c064372 c1863d08 193fd378 00000000 00000000 00000000 </p>
|
||||
</div></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,210 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TL Language</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="TL (Type Language) serves to describe the used system of types, constructors, and existing functions. In fact, the combinator…">
|
||||
<meta property="og:title" content="TL Language">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="TL (Type Language) serves to describe the used system of types, constructors, and existing functions. In fact, the combinator…">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class="active"><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="/mtproto" >Mobile Protocol</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/mtproto/TL" >TL Language</a></li></ul></div>
|
||||
<h1 id="dev_page_title">TL Language</h1>
|
||||
|
||||
<div id="dev_page_content"><p>TL (Type Language) serves to describe the used system of types, constructors, and existing functions. In fact, the combinator description format presented in <a href="/mtproto/serialize">Binary Data Serialization</a> is used.</p>
|
||||
<p>See also: </p>
|
||||
<ul>
|
||||
<li><a href="/mtproto/TL-polymorph">Polymorphism in TL</a></li>
|
||||
</ul>
|
||||
<p>Advanced topics: </p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-dependent">Dependent types in TL</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-formal">Formal description of TL</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-combinators">Formal description of TL combinators</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-types">Type serialization</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-tl">TL schema for serialization of TL schemas</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-optargs">Optional combinator parameters and their values</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-abstract-types">Binary serialization and abstract TL types</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="/mtproto/TL-patterns">Formal description of templates in TL</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#overview" id="overview" name="overview"><i class="anchor-icon"></i></a>Overview</h3>
|
||||
<p>A TL program usually consists of two sections separated by keyword <code>---functions---</code>. The first section consists of declarations of built-in types and aggregate types (i.e. their constructors). The second section consists of the declared functions, i.e. functional combinators.</p>
|
||||
<p>Actually, both the first and second sections consist of combinator declarations, each of which ends with a semicolon. However, the first section contains only constructors, while the second section only involves functions. Each combinator is declared using a “combinator declaration” in the format explained above. However, the combinator number and field names may be explicitly assigned.</p>
|
||||
<p>If additional type declarations are required after functions have been declared, the keyword (section divider) <code>---types---</code> is used. Furthermore, a functional combinator may be declared in the type section if its result type begins with an exclamation point (in fact, when the function section is interpreted, this exclamation point is added automatically).</p>
|
||||
<p>To explicitly define 32-bit names of combinators, a hash mark (#) is added immediately after the combinator’s name, followed by 8 hexadecimal digits.</p>
|
||||
<h3><a class="anchor" href="#namespaces" id="namespaces" name="namespaces"><i class="anchor-icon"></i></a>Namespaces</h3>
|
||||
<p>Composite constructions like <code><namespace_identifier>.<constructor_identifier></code> and <code><namespace_identifier>.<Type_identifier></code> can be used as constructor- or type identifiers. The portion of the identifier to the left of the period is called the <em>namespace</em>. Moreover, the rule about a first uppercase letter in type identifiers and lowercase letter in constructor identifiers applies to the part of the construction after the period. For example, <code>auth.Message</code> would be a type, while <code>auth.std_message</code> would be a constructor.</p>
|
||||
<p>Namespaces do not require a special declaration.</p>
|
||||
<h3><a class="anchor" href="#comments" id="comments" name="comments"><i class="anchor-icon"></i></a>Comments</h3>
|
||||
<p>Comments are the same as in C++.</p>
|
||||
<h3><a class="anchor" href="#example" id="example" name="example"><i class="anchor-icon"></i></a>Example</h3>
|
||||
<pre><code>// built-in types
|
||||
int#a8509bda ? = Int;
|
||||
long ? = Long;
|
||||
double ? = Double;
|
||||
string ? = String;
|
||||
null = Null;
|
||||
|
||||
vector {t:Type} # [ t ] = Vector t;
|
||||
coupleInt {alpha:Type} int alpha = CoupleInt<alpha>;
|
||||
coupleStr {gamma:Type} string gamma = CoupleStr gamma;
|
||||
/* The name of the type variable is irrelevant: "gamma" could be replaced with "alpha";
|
||||
However, the combinator number will depend on the specific choice. */
|
||||
|
||||
intHash {alpha:Type} vector<coupleInt<alpha>> = IntHash<alpha>;
|
||||
strHash {alpha:Type} (vector (coupleStr alpha)) = StrHash alpha;
|
||||
intSortedHash {alpha:Type} intHash<alpha> = IntSortedHash<alpha>;
|
||||
strSortedHash {alpha:Type} (strHash alpha) = StrSortedHash alpha;
|
||||
|
||||
// custom types
|
||||
pair x:Object y:Object = Pair;
|
||||
triple x:Object y:Object z:Object = Triple;
|
||||
|
||||
user#d23c81a3 id:int first_name:string last_name:string = User;
|
||||
no_user#c67599d1 id:int = User;
|
||||
group id:int title:string last_name:string = Group;
|
||||
no_group = Group;
|
||||
|
||||
---functions---
|
||||
|
||||
// Maybe some built-in arithmetic functions; inverse quotes make "identifiers" out of arbitrary non-alphanumeric strings
|
||||
`+` Int Int = Int;
|
||||
`-` Int Int = Int;
|
||||
`+` Double Double = Double;
|
||||
// ...
|
||||
|
||||
// API functions (aka RPC functions)
|
||||
getUser#b0f732d5 int = User;
|
||||
getUsers#2d84d5f5 (Vector int) = Vector User;</code></pre>
|
||||
<p>In this case, the <code>user</code> constructor has been explicitly assigned a number (0xd23c81a3); In fact, this was not necessary, since this value is the CRC32 of the string <code>"user id:int first_name:string last_name:string = User"</code>, which would have been used by default.</p>
|
||||
<p>Special constructors are not required for Vector int, Vector User, Vector Object, etc. -- the same universal constructor can be used everywhere:</p>
|
||||
<pre><code>vector#1cb5c415 {t:Type} # [ t ] = Vector t;</code></pre>
|
||||
<p>Note that when the <code>getUsers (Vector int) = Vector User;</code> constructor number is calculated, the CRC32 of the string "getUsers Vector int = Vector User” is computed (from which all parentheses have been removed).</p>
|
||||
<p>Notation <code>T0<T1,T2,...,Tn></code> is syntactic sugar for <code>(T0 (T1) (T2) ... (Tn))</code>. For example, <code>Vector<User></code> and <code>(Vector User)</code> are entirely interchangeable.</p>
|
||||
<h4><a class="anchor" href="#example-of-an-rpc-query" id="example-of-an-rpc-query" name="example-of-an-rpc-query"><i class="anchor-icon"></i></a>Example of an RPC query</h4>
|
||||
<p>Suppose we want to call <code>getUsers([2,3,4])</code>. This query will be serialized into a sequence of 32-bit integers as follows:</p>
|
||||
<pre><code>0x2d84d5f5 0x1cb5c415 0x3 0x2 0x3 0x4</code></pre>
|
||||
<p>Please note that TL serialization yields sequences of 32-bit integers. When it has to be embedded into a byte stream, for example a network packet, each 32-bit integer is represented by four bytes in little-endian order. In this way the above query corresponds to the following byte stream:</p>
|
||||
<pre><code>F5 D5 84 2D 15 C4 B5 1C 03 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00</code></pre>
|
||||
<p>The response might look something like this:</p>
|
||||
<pre><code>0x1cb5c415 0x3 0xd23c81a3 0x2 0x74655005 0x00007265 0x72615006 0x72656b 0xc67599d1 0x3 0xd23c81a3 0x4 0x686f4a04 0x6e 0x656f4403</code></pre>
|
||||
<p>This roughly corresponds to</p>
|
||||
<pre><code>[{"id":2,"first_name":"Peter", "last_name":"Parker"},{},{"id":4,"first_name":"John","last_name":"Doe"}]</code></pre>
|
||||
<p>Note that in both cases the same universal constructor <code>vector#1cb5c415</code> is used: in the request to serialize the value of type <code>Vector int</code>, and in the serialization of the value of type <code>Vector User</code> in the response. There is no ambiguity because in both cases the type of the value being (de)serialized is known before its (de)serialization begins. For example, after receiving the query, the server sees that the first part is <code>0x2d84d5f5</code>, which corresponds to the combinator <code>getUsers#2d84d5f5 (Vector int) = Vector User</code>. Thus, it is understood that what follows will be a value of type <code>Vector int</code>. After receiving the response to this query, the client knows that it must receive a value of type <code>Vector User</code> and it deserializes the response accordingly.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Audio</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Audio file.">
|
||||
<meta property="og:title" content="Audio">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Audio file.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/Audio" >Audio</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Audio</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Audio file.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DisabledFeature</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="A disabled feature">
|
||||
<meta property="og:title" content="DisabledFeature">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="A disabled feature">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/DisabledFeature" >DisabledFeature</a></li></ul></div>
|
||||
<h1 id="dev_page_title">DisabledFeature</h1>
|
||||
|
||||
<div id="dev_page_content"><p>A disabled feature</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Video</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Video.">
|
||||
<meta property="og:title" content="Video">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Video.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/Video" >Video</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Video</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Video.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Account.SentChangePhoneCode</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Sent phone code">
|
||||
<meta property="og:title" content="Account.SentChangePhoneCode">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Sent phone code">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/account.SentChangePhoneCode" >Account.SentChangePhoneCode</a></li></ul></div>
|
||||
<h1 id="dev_page_title">Account.SentChangePhoneCode</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Sent phone code</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>contacts.Link</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Object describes the connection between a certain user and the current authorized user.">
|
||||
<meta property="og:title" content="contacts.Link">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Object describes the connection between a certain user and the current authorized user.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/contacts.Link" >contacts.Link</a></li></ul></div>
|
||||
<h1 id="dev_page_title">contacts.Link</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Object describes the connection between a certain user and the current authorized user.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.SentMessage</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Info on a successfully sent message.">
|
||||
<meta property="og:title" content="messages.SentMessage">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Info on a successfully sent message.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/messages.SentMessage" >messages.SentMessage</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.SentMessage</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Info on a successfully sent message.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>messages.StatedMessages</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="Object contains info on the list of messages with auxiliary data and data on current state of updates.">
|
||||
<meta property="og:title" content="messages.StatedMessages">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="Object contains info on the list of messages with auxiliary data and data on current state of updates.">
|
||||
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class=""><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class="active"><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/messages.StatedMessages" >messages.StatedMessages</a></li></ul></div>
|
||||
<h1 id="dev_page_title">messages.StatedMessages</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Object contains info on the list of messages with auxiliary data and data on current state of updates.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 121 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?layer=1">1 – Base layer</a></li><li><a href="?layer=2">2 – New userpic notifications</a></li><li><a href="?layer=3">3 – Send message can trigger link change</a></li><li><a href="?layer=4">4 – Check-in chats</a></li><li><a href="?layer=5">5 – Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 – Foursquare integration</a></li><li><a href="?layer=7">7 – Added wallPaperSolid</a></li><li><a href="?layer=8">8 – Added end-to-end encryption</a></li><li><a href="?layer=9">9 – Improved big files upload perfomance</a></li><li><a href="?layer=10">10 – Improved chat participants updates</a></li><li><a href="?layer=11">11 – Improved secret chats</a></li><li><a href="?layer=12">12 – New dynamic support</a></li><li><a href="?layer=13">13 – Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 – Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 – Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 – Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 – Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 – Added usernames</a></li><li><a href="?layer=23">23 – Stickers for secret chats</a></li><li><a href="?layer=105">105 – Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 – Login with QR code</a></li><li><a href="?layer=109">109 – Polls v2</a></li><li><a href="?layer=110">110 – People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 – Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 – Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 – PSA</a></li><li><a href="?layer=114">114 – Video thumbs for GIFs</a></li><li><a href="?layer=115">115 – Peek Channel Invite</a></li><li><a href="?layer=116">116 – Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 – WebRTC Phone Calls</a></li><li><a href="?layer=118">118 – Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 – Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 – Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121"><strong>121 – SVG-based Outlines for Stickers</strong></a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="/api/layers">More...</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<pre class="page_scheme"><code></code></pre></p></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/blog">Blog</a></li>
|
||||
<li><a href="//telegram.org/jobs">Jobs</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/dl/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="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?42"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Group Permissions, Undo Delete and More</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="og:title" content="Group Permissions, Undo Delete and More">
|
||||
<meta property="og:image" content="https://telegram.org/file/811140573/1964/yoc6BYIat8M.67678/d9e9cebb9aca723248">
|
||||
<meta property="og:site_name" content="Telegram">
|
||||
<meta property="og:description" content="Ever wanted to run a sticker-free or GIF-free community? With group permissions, admins can now restrict all members from posting specific kinds of content. ">
|
||||
<meta property="article:published_time" content="2019-01-22T08:54:00+00:00"><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:image" content="https://telegram.org/file/811140573/1964/yoc6BYIat8M.67678/d9e9cebb9aca723248" />
|
||||
<meta property="fb:app_id" content="254098051407226">
|
||||
<meta property="vk:app_id" content="3782569">
|
||||
<meta name="apple-itunes-app" content="app-id=686449807">
|
||||
<meta name="telegram:channel" content="@telegram">
|
||||
<link rel="canonical" href="https://telegram.org/blog/permissions-groups-undo" />
|
||||
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
|
||||
<link rel="alternate icon" href="/favicon.ico?4" type="image/x-icon" />
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div id="fb-root"></div>
|
||||
<div class="tl_page_wrap">
|
||||
<div class="tl_page_head navbar navbar-static-top navbar navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right"><li class="dropdown top_lang_select"><a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#"><i class="dev_top_lang_icon"></i> <b class="minicaret"></b></a>
|
||||
<ul class="dropdown-menu"><li class=""><a href="?setln=en">English</a></li><li class="long "><a href="?setln=id">Bahasa Indonesia</a></li><li class="long "><a href="?setln=ms">Bahasa Melayu</a></li><li class=""><a href="?setln=de">Deutsch</a></li><li class=""><a href="?setln=es">Español</a></li><li class=""><a href="?setln=fr">Français</a></li><li class=""><a href="?setln=it">Italiano</a></li><li class=""><a href="?setln=nl">Nederlands</a></li><li class=""><a href="?setln=uz">O‘zbek</a></li><li class=""><a href="?setln=pl">Polski</a></li><li class="long "><a href="?setln=pt-br">Português (Brasil)</a></li><li class=""><a href="?setln=tr">Türkçe</a></li><li class=""><a href="?setln=be">Беларуская</a></li><li class=""><a href="?setln=ru">Русский</a></li><li class=""><a href="?setln=uk">Українська</a></li><li class=""><a href="?setln=ar">العربية</a></li><li class=""><a href="?setln=fa">فارسی</a></li><li class=""><a href="?setln=ko">한국어</a></li></ul></li><li class="navbar-twitter hidden-xs"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i> Twitter</a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li class=""><a href="/">Home</a></li>
|
||||
<li class=""><a href="/faq">FAQ</a></li>
|
||||
<li class=""><a href="/apps">Apps</a></li>
|
||||
<li class="hidden-xs "><a href="//core.telegram.org/api">API</a></li>
|
||||
<li class="hidden-xs "><a href="//core.telegram.org/mtproto">Protocol</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix tl_page_container ">
|
||||
<div class="tl_page">
|
||||
<div class="tl_contest_page_wrap">
|
||||
<div class="tl_blog_side_blog"><div class="side_blog_wrap">
|
||||
<div class="side_blog">
|
||||
<a href="/blog" class="side_blog_header">Recent News</a>
|
||||
<div class="side_blog_entries">
|
||||
<a href="/blog/chat-themes-interactive-emoji-read-receipts" class="side_blog_entry">
|
||||
<div class="side_blog_date">Sep 19</div>
|
||||
<div class="side_blog_title">Chat Themes, Interactive Emoji, Read Receipts in Groups and Live Stream Recording</div>
|
||||
</a><a href="/blog/live-streams-forwarding-next-channel" class="side_blog_entry">
|
||||
<div class="side_blog_date">Aug 31</div>
|
||||
<div class="side_blog_title">Live Streams, Flexible Forwarding and More</div>
|
||||
</a><a href="/blog/video-1000" class="side_blog_entry">
|
||||
<div class="side_blog_date">Jul 30</div>
|
||||
<div class="side_blog_title">Video Calls with up to 1000 Viewers, Video Playback Speed and More</div>
|
||||
</a><a href="/blog/group-video-calls" class="side_blog_entry">
|
||||
<div class="side_blog_date">Jun 25</div>
|
||||
<div class="side_blog_title">Group Video Calls</div>
|
||||
</a><a href="/blog/animated-backgrounds" class="side_blog_entry">
|
||||
<div class="side_blog_date">Jun 25</div>
|
||||
<div class="side_blog_title"> Animated Backgrounds</div>
|
||||
</a><a href="/blog/payments-2-0-scheduled-voice-chats" class="side_blog_entry">
|
||||
<div class="side_blog_date">Apr 26</div>
|
||||
<div class="side_blog_title">Payments 2.0, Scheduled Voice Chats, New Web Versions</div>
|
||||
</a><a href="/blog/voice-chats-on-steroids" class="side_blog_entry">
|
||||
<div class="side_blog_date">Mar 19</div>
|
||||
<div class="side_blog_title">Voice Chats 2.0: Channels, Millions of Listeners, Recorded Chats, Admin Tools</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div></div>
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"></div>
|
||||
<h1 id="dev_page_title">Group Permissions, Undo Delete and More</h1>
|
||||
|
||||
<div id="dev_page_content"><div class="blog_side_image_wrap">
|
||||
<img src="/file/811140024/19d4/AAGshRJPlDQ.49491.gif/d720ab094bd4cbb42d" class="blog_side_image"/>
|
||||
</div>
|
||||
|
||||
<div class="blog_wide_image">
|
||||
<a href="/file/811140366/1a4d/emXluVSoFTc.195243/58a5ff3cfc09b21e32" target="_blank"><img src="/file/811140573/1964/yoc6BYIat8M.67678/d9e9cebb9aca723248" srcset="/file/811140366/1a4d/emXluVSoFTc.195243/58a5ff3cfc09b21e32, 1200w" title="Introducing Telegram 5.2: New permissions for groups, unified group settings, undo deleting chats and more" alt="Introducing Telegram 5.2: New permissions for groups, unified group settings, undo deleting chats and more"/></a>
|
||||
</div>
|
||||
|
||||
<p>Ever wanted to run a sticker-free or GIF-free community? With <strong>group permissions</strong>, admins can now restrict all members from posting specific kinds of content. Or even restrict members from sending messages altogether – let the <strong>admins</strong> chat amongst themselves while everybody else witnesses their wisdom in silent awe.</p>
|
||||
<div class="blog_video_player_wrap" style="max-width: 480px; margin: 20px auto 20px;">
|
||||
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/811140749/1b1e/8geBiOHLtWE.61270/afefe36554bfdd2cf6" style="max-width: 480px;">
|
||||
<source src="/file/811140382/185f/5jNqcBZ0weI.4498521.mp4/975313fba38aa25c91" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
|
||||
<p>In case you ever felt lonely in a group with 100,000 members, Telegram groups now support up to <strong>200,000 members</strong> – so now you can feel <em>twice</em> as lonely <img class="emoji" src="//telegram.org/img/emoji/40/F09F9983.png" width="20" height="20" alt="🙃" />. To make managing groups more enjoyable, we've streamlined all group interfaces, including the Settings screens, Admin panels and Member lists.</p>
|
||||
<div class="blog_image_wrap">
|
||||
<a href="/file/811140249/16c3/nZKNjRvrWiA.27327/8d07f8f6381796697b" target="_blank"><img src="/file/811140095/1549/7Tu3Zj104EQ.27327/accbc3740af1d53ba7" title="New group, redesigned empty screen" alt="New group, redesigned empty screen" srcset="/file/811140249/16c3/nZKNjRvrWiA.27327/8d07f8f6381796697b , 2x" /></a>
|
||||
<p>A newly created group</p>
|
||||
</div>
|
||||
|
||||
<p>As of today, supergroups and basic groups are simply <strong>groups</strong>. It now takes just a few taps to make <em>any</em> group <strong>public</strong>, add admins with <strong>granular privileges</strong> or toggle <strong>persistent history</strong>.</p>
|
||||
<p>Have fun bossing around groups the size of the city of <a href="https://en.wikipedia.org/wiki/Kassel">Kassel</a>!</p>
|
||||
<h3><a class="anchor" name="undo-clearing-history-and-deleting-chats" href="#undo-clearing-history-and-deleting-chats"><i class="anchor-icon"></i></a>Undo clearing history and deleting chats</h3>
|
||||
<p>Deleting the wrong chat is rarely fun – but now you'll have a chance to reconsider.</p>
|
||||
<p>When you delete a chat or clear chat history, you'll get a detailed confirmation dialog and an option to <strong>restore</strong> the chat within the next <strong>5 seconds</strong>. Once the time is up, the chat is irretrievably lost in the jaws of Telegram’s underground data shredders. </p>
|
||||
<div class="blog_video_player_wrap" style="max-width: 480px; margin: 20px auto 20px;">
|
||||
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/811140243/1a42/75KAAxWNUZI.102306/b1e0a823a024c6434b" style="max-width: 480px;">
|
||||
<source src="/file/811140397/16f0/tDiIJNnke-0.4336643.mp4/9d01615dfc3c79e2d4" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
|
||||
<p>If you relied on “I accidentally deleted the chat with my homework” in your studies, please accept our apologies. From now on, you'll have to blame your digital dog.</p>
|
||||
<h3><a class="anchor" name="sort-your-contacts" href="#sort-your-contacts"><i class="anchor-icon"></i></a>Sort your contacts</h3>
|
||||
<p>Back to the topic of bossing people around, you can now <strong>sort</strong> your contacts by <strong>name</strong> and by <strong>last seen time</strong> on both <a href="https://telegram.org/dl/ios">iOS</a> and <a href="https://telegram.org/dl/android">Android</a>.</p>
|
||||
<div class="blog_2images_wrap">
|
||||
<div class="blog_image_wrap">
|
||||
<a href="/file/811140731/1833/HIHf23ZnvhM.38060/bddd1e8907cf8d94fe" target="_blank"><img src="/file/811140911/158e/QO4022K0GhQ.8834/f1b2def65bdb716e58" title="Sorting contacts on iOS" alt="Sorting contacts on iOS" srcset="/file/811140731/1833/HIHf23ZnvhM.38060/bddd1e8907cf8d94fe , 2x" /></a>
|
||||
<p>iOS</p>
|
||||
</div>
|
||||
<div class="blog_image_wrap">
|
||||
<a href="/file/811140875/194d/Azfff5DbqmA.43060/f692b7f2804bb1a6e2" target="_blank"><img src="/file/811140874/15ce/MU4dYyIhnjI.9608/67cebb2b338ab79b0e" title="Sorting contacts on Android" alt="Sorting contacts on Android" srcset="/file/811140875/194d/Azfff5DbqmA.43060/f692b7f2804bb1a6e2 , 2x" /></a>
|
||||
<p>Android</p></div>
|
||||
</div>
|
||||
|
||||
<h3><a class="anchor" name="thumbnails-and-download-animations" href="#thumbnails-and-download-animations"><i class="anchor-icon"></i></a>Thumbnails and download animations</h3>
|
||||
<p>Waiting for large media downloads to finish ranks very low on the list of <em>“The Most Exciting Things to Do Online”</em>. We decided to spice this process up a bit by improving our animation algorithms and adding an ultra-light thumbnail to each photo and video:</p>
|
||||
<div class="blog_video_player_wrap" style="max-width: 480px; margin: 20px auto 20px;">
|
||||
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/811140900/1478/mXA-2vGoluo.132335/4203ca72e4ff670392" style="max-width: 480px;">
|
||||
<source src="/file/811140960/18bb/01ODY588sHc.2275591.mp4/b32b4a970c88ae4e09" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
|
||||
<p>From now on, every photo you receive will start its life as an obscure blur instead of an empty square. Isn’t this just <em><strong>beautiful?</strong></em></p>
|
||||
<h3><a class="anchor" name="search-bars-dark-mode-and-moar-profile-pics" href="#search-bars-dark-mode-and-moar-profile-pics"><i class="anchor-icon"></i></a>Search bars, dark mode and moar profile pics</h3>
|
||||
<p><strong>Search bars</strong> on Telegram for iOS and the default <strong>dark mode</strong> theme on Android got some face-lifting. The Android app also allows you to set up a <strong>profile picture</strong> when you create an account, so expect to see more friends with faces from now on.</p>
|
||||
<h3><a class="anchor" name="meanwhile-on-desktop" href="#meanwhile-on-desktop"><i class="anchor-icon"></i></a>Meanwhile on Desktop…</h3>
|
||||
<p>The new group permissions also work in <a href="https://desktop.telegram.org">Telegram Desktop</a>. Additionally, version <strong>1.5.8</strong> introduces support for <strong>automatically downloading files</strong> and music and choosing <strong>input and output devices</strong> for Telegram Calls.</p>
|
||||
<p>Last but not least, you can now change your visuals before heading into an <strong>emoji</strong> fight:</p>
|
||||
<div class="blog_image_wrap">
|
||||
<a href="/file/811140660/17ee/38J2vYJLJdA.36118/67fd52e531ec542400" target="_blank"><img src="/file/811140242/150b/u8tQd61_E_Y.8544/e6d892ea52a6d556c1" title="Choose how you see emoji on Telegram Desktop" alt="Choose your emoji on Telegram Desktop" srcset="/file/811140660/17ee/38J2vYJLJdA.36118/67fd52e531ec542400 , 2x" /></a>
|
||||
<p>Choose how you see emoji on Telegram Desktop</p>
|
||||
</div>
|
||||
|
||||
<p>Another glorious Telegram update is coming in a week or two, so STAY TUNED!</p>
|
||||
<div><br></div>
|
||||
|
||||
<p><em>January 21, 2019,<br>The Telegram Team</em></p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tl_main_share clearfix">
|
||||
<a href="https://t.me/share/url?url=https%3A%2F%2Ftelegram.org%2Fblog%2Fpermissions-groups-undo&text=Telegram%205.2%20introduces%20group%20permissions%2C%20unified%20group%20settings%2C%20undo%20delete%20and%20more" class="tl_telegram_share_btn" id="tl_telegram_share_btn" data-text="Telegram 5.2 introduces group permissions, unified group settings, undo delete and more" data-url="https://telegram.org/blog/permissions-groups-undo"><i class="tl_telegram_share_icon"></i><span class="tl_telegram_share_label" target="_blank">Forward</span></a>
|
||||
<a href="https://twitter.com/share" class="tl_twitter_share_btn" id="tl_twitter_share_btn" data-text="Telegram 5.2 introduces group permissions, unified group settings, undo delete and more" data-url="https://telegram.org/blog/permissions-groups-undo" data-via="Telegram">Tweet <span class="tl_twitter_share_cnt"></span></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tl_main_recent_news_wrap tlb_other_news_wrap tl_blog_list_page_wrap">
|
||||
<h3 class="tl_main_recent_news_header">
|
||||
<a href="/blog">Other News</a>
|
||||
</h3>
|
||||
<div class="tl_main_recent_news_cards clearfix">
|
||||
<a class="dev_blog_card_link_wrap" href="/blog/chat-themes-interactive-emoji-read-receipts"><div class="dev_blog_card_wrap">
|
||||
<img class="dev_blog_card_image" src="https://telegram.org/file/464001155/2/kLfFr4UDBdo.74223/58bec6bc2a18455c5f" />
|
||||
<div class="dev_blog_card_alltext_wrap">
|
||||
<h4 class="dev_blog_card_title">Chat Themes, Interactive Emoji, Read Receipts in Groups and Live Stream Recording</h4>
|
||||
<div class="dev_blog_card_lead">Today's update lets you set different themes for individual chats, share your feelings with…</div>
|
||||
</div>
|
||||
<div class="dev_blog_card_date">Sep 19, 2021</div>
|
||||
</div></a><a class="dev_blog_card_link_wrap" href="/blog/live-streams-forwarding-next-channel"><div class="dev_blog_card_wrap">
|
||||
<img class="dev_blog_card_image" src="https://telegram.org/file/464001784/4/IlXX31YWz5U.92729/eabf233f3635354560" />
|
||||
<div class="dev_blog_card_alltext_wrap">
|
||||
<h4 class="dev_blog_card_title">Live Streams, Flexible Forwarding, Jump to Next Channel, Trending Stickers and More</h4>
|
||||
<div class="dev_blog_card_lead">Telegram 8.0 brings live streams with unlimited viewers to groups and channels, options to…</div>
|
||||
</div>
|
||||
<div class="dev_blog_card_date">Aug 31, 2021</div>
|
||||
</div></a><a class="dev_blog_card_link_wrap" href="/blog/video-1000"><div class="dev_blog_card_wrap">
|
||||
<img class="dev_blog_card_image" src="https://telegram.org/file/464001574/3/Pqda66P2qCA.71942/56366f0bdd3630cab8" />
|
||||
<div class="dev_blog_card_alltext_wrap">
|
||||
<h4 class="dev_blog_card_title">Video Calls with up to 1000 Viewers, Video Messages 2.0, Video Playback Speed and More</h4>
|
||||
<div class="dev_blog_card_lead">This update takes video to the next level. Group video calls now have up to 1000 viewers,…</div>
|
||||
</div>
|
||||
<div class="dev_blog_card_date">Jul 30, 2021</div>
|
||||
</div></a><a class="dev_blog_card_link_wrap" href="/blog/group-video-calls"><div class="dev_blog_card_wrap">
|
||||
<img class="dev_blog_card_image" src="https://telegram.org/file/464001231/2/Q0OFpRBNruI.71986/42d2a05bd0d1bd091b" />
|
||||
<div class="dev_blog_card_alltext_wrap">
|
||||
<h4 class="dev_blog_card_title">Group Video Calls</h4>
|
||||
<div class="dev_blog_card_lead">Today's update lets you turn on your camera or share your screen during Voice Chats in groups – on all devices, including tablets and desktops. This brings voice chats to a whole new…</div>
|
||||
</div>
|
||||
<div class="dev_blog_card_date">Jun 25, 2021</div>
|
||||
</div></a>
|
||||
</div>
|
||||
</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="/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="/faq">FAQ</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
<li><a href="/jobs">Jobs</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/apps#mobile-apps">Mobile Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="/dl/ios">iPhone/iPad</a></li>
|
||||
<li><a href="/dl/android">Android</a></li>
|
||||
<li><a href="/dl/wp">Windows Phone</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/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="/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="/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="/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>
|
||||
<script src="/js/main.js?42"></script>
|
||||
|
||||
<script>initScrollVideos(true);
|
||||
twitterCustomShareInit();
|
||||
blogSideImageInit();
|
||||
backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in a new issue