Update content of files

This commit is contained in:
GitHub Action 2022-09-01 18:10:39 +00:00
parent 5d481b2525
commit 1f3015393c
7 changed files with 70 additions and 68 deletions

View file

@ -80,7 +80,7 @@
Use <a href="/method/messages.getAttachMenuBot">messages.getAttachMenuBot</a> to get info about the attachment menu entry. </p> Use <a href="/method/messages.getAttachMenuBot">messages.getAttachMenuBot</a> to get info about the attachment menu entry. </p>
<p>Then, use <a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a> to enable or disable the attachment menu.<br> <p>Then, use <a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a> to enable or disable the attachment menu.<br>
Changes made using this method will trigger an <a href="/constructor/updateAttachMenuBots">updateAttachMenuBots</a> update in other clients, which should trigger a <a href="/method/messages.getAttachMenuBots">messages.getAttachMenuBots</a> call to fetch the full updated list of installed attachment menu entries. </p> Changes made using this method will trigger an <a href="/constructor/updateAttachMenuBots">updateAttachMenuBots</a> update in other clients, which should trigger a <a href="/method/messages.getAttachMenuBots">messages.getAttachMenuBots</a> call to fetch the full updated list of installed attachment menu entries. </p>
<p>Once an attachment menu is enabled, the <a href="/constructor/user">user</a>.<code>attach_menu_enabled</code> flag of the bot will be set, and the <a href="/constructor/attachMenuBot">attachMenuBot</a>.<code>inactive</code> flag will be unset. </p></div> <p>Once an attachment menu is enabled for a certain user, the <a href="/constructor/user">user</a>.<code>attach_menu_enabled</code> flag will be set <em>for the bot</em>, and the <a href="/constructor/attachMenuBot">attachMenuBot</a>.<code>inactive</code> flag will be unset. </p></div>
</div> </div>

View file

@ -68,7 +68,7 @@ UTF-8 is used by the MTProto and Bot API when transmitting and receiving fields
<p>UTF-16 is used when computing the length and offsets of entities in the MTProto and bot APIs, by counting the number of UTF-16 code units (<strong>not</strong> code points).</p> <p>UTF-16 is used when computing the length and offsets of entities in the MTProto and bot APIs, by counting the number of UTF-16 code units (<strong>not</strong> code points).</p>
<h4><a class="anchor" href="#computing-entity-length" id="computing-entity-length" name="computing-entity-length"><i class="anchor-icon"></i></a>Computing entity length</h4> <h4><a class="anchor" href="#computing-entity-length" id="computing-entity-length" name="computing-entity-length"><i class="anchor-icon"></i></a>Computing entity length</h4>
<ul> <ul>
<li>Code points in the BMP (<code>U+0000</code> to <code>U+FFFF</code>) count as 1, because they are encoded into a single UTF-16 code units</li> <li>Code points in the BMP (<code>U+0000</code> to <code>U+FFFF</code>) count as 1, because they are encoded into a single UTF-16 code unit</li>
<li>Code points in all other planes count as 2, because they are encoded into two UTF-16 code units (also called surrogate pairs)</li> <li>Code points in all other planes count as 2, because they are encoded into two UTF-16 code units (also called surrogate pairs)</li>
</ul> </ul>
<p>A simple, but not very efficient way of computing the entity length is converting the text to UTF-16, and then taking the byte length divided by 2 (=number of UTF-16 code units).</p> <p>A simple, but not very efficient way of computing the entity length is converting the text to UTF-16, and then taking the byte length divided by 2 (=number of UTF-16 code units).</p>

View file

@ -49,7 +49,7 @@
<h4><a class="anchor" href="#error-type" id="error-type" name="error-type"><i class="anchor-icon"></i></a>Error Type</h4> <h4><a class="anchor" href="#error-type" id="error-type" name="error-type"><i class="anchor-icon"></i></a>Error Type</h4>
<p>A string literal in the form of <code>/[A-Z_0-9]+/</code>, which summarizes the problem. For example, <code>AUTH_KEY_UNREGISTERED</code>. This is an optional parameter.</p> <p>A string literal in the form of <code>/[A-Z_0-9]+/</code>, which summarizes the problem. For example, <code>AUTH_KEY_UNREGISTERED</code>. This is an optional parameter.</p>
<h4><a class="anchor" href="#error-database" id="error-database" name="error-database"><i class="anchor-icon"></i></a>Error Database</h4> <h4><a class="anchor" href="#error-database" id="error-database" name="error-database"><i class="anchor-icon"></i></a>Error Database</h4>
<p>A full machine-readable JSON list of RPC errors that can be returned by all methods in the API can be found <a href="/file/464001413/fd7b/hMQMyQzkbzQ.85929.json/b3dbd40b4ae42ebfc5">here »</a>, what follows is a description of its fields: </p> <p>A full machine-readable JSON list of RPC errors that can be returned by all methods in the API can be found <a href="/file/464001266/11d30/8avYQb50xVY.85929.json/b8cdcb96fc82498fe6">here »</a>, what follows is a description of its fields: </p>
<ul> <ul>
<li><code>errors</code> - All error messages and codes for each method (object).<ul> <li><code>errors</code> - All error messages and codes for each method (object).<ul>
<li>Keys: Error codes as strings (numeric strings)</li> <li>Keys: Error codes as strings (numeric strings)</li>
@ -154,7 +154,7 @@
<p>An exception to this is the <code>AUTH_KEY_DUPLICATED</code> error, which is only emitted if any of the non-media DC detects that an authorized session is sending requests in parallel from two separate TCP connections, from the same or different IP addresses.<br> <p>An exception to this is the <code>AUTH_KEY_DUPLICATED</code> error, which is only emitted if any of the non-media DC detects that an authorized session is sending requests in parallel from two separate TCP connections, from the same or different IP addresses.<br>
Note that parallel connections are still allowed and actually recommended for media DCs. Note that parallel connections are still allowed and actually recommended for media DCs.
Also note that by session we mean a logged-in session identified by an <a href="/constructor/authorization">authorization</a> constructor, fetchable using <a href="/method/account.getAuthorizations">account.getAuthorizations</a>, not an MTProto session. </p> Also note that by session we mean a logged-in session identified by an <a href="/constructor/authorization">authorization</a> constructor, fetchable using <a href="/method/account.getAuthorizations">account.getAuthorizations</a>, not an MTProto session. </p>
<p>After receiving an <code>AUTH_KEY_DUPLICATED</code> error, the session will be invalidated by the server and the user will be forced to login again. </p> <p>If the client receives an <code>AUTH_KEY_DUPLICATED</code> error, the session is already invalidated by the server and the user must log out, generate a new auth key and login again. </p>
<h3><a class="anchor" href="#420-flood" id="420-flood" name="420-flood"><i class="anchor-icon"></i></a>420 FLOOD</h3> <h3><a class="anchor" href="#420-flood" id="420-flood" name="420-flood"><i class="anchor-icon"></i></a>420 FLOOD</h3>
<p>The maximum allowed number of attempts to invoke the given method with the given input parameters has been exceeded. For example, in an attempt to request a large number of text messages (SMS) for the same phone number.</p> <p>The maximum allowed number of attempts to invoke the given method with the given input parameters has been exceeded. For example, in an attempt to request a large number of text messages (SMS) for the same phone number.</p>
<h4><a class="anchor" href="#error-example" id="error-example" name="error-example"><i class="anchor-icon"></i></a>Error Example:</h4> <h4><a class="anchor" href="#error-example" id="error-example" name="error-example"><i class="anchor-icon"></i></a>Error Example:</h4>

View file

@ -46,29 +46,6 @@
<p>Telegram apps support generating, sharing and synchronizing chat backgrounds.</p> <p>Telegram apps support generating, sharing and synchronizing chat backgrounds.</p>
<p>Wallpapers must be rendered according to the instructions contained in the wallpaper constructors. </p> <p>Wallpapers must be rendered according to the instructions contained in the wallpaper constructors. </p>
<h3><a class="anchor" href="#wallpaper-api" id="wallpaper-api" name="wallpaper-api"><i class="anchor-icon"></i></a>Wallpaper API</h3>
<p>Scheme:</p>
<pre><code><a href='/constructor/inputWallPaper'>inputWallPaper</a>#e630b979 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/inputWallPaperSlug'>inputWallPaperSlug</a>#72091c80 slug:<a href='/type/string'>string</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/inputWallPaperNoFile'>inputWallPaperNoFile</a>#967a462e id:<a href='/type/long'>long</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/account.wallPapersNotModified'>account.wallPapersNotModified</a>#1c199183 = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/constructor/account.wallPapers'>account.wallPapers</a>#cdc3858c hash:<a href='/type/long'>long</a> wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt; = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/constructor/wallPaper'>wallPaper</a>#a437c3ed id:<a href='/type/long'>long</a> flags:<a href='/type/%23'>#</a> creator:flags.0?<a href='/constructor/true'>true</a> default:flags.1?<a href='/constructor/true'>true</a> pattern:flags.3?<a href='/constructor/true'>true</a> dark:flags.4?<a href='/constructor/true'>true</a> access_hash:<a href='/type/long'>long</a> slug:<a href='/type/string'>string</a> document:<a href='/type/Document'>Document</a> settings:flags.2?<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;
---functions---
<a href='/method/account.uploadWallPaper'>account.uploadWallPaper</a>#dd853661 file:<a href='/type/InputFile'>InputFile</a> mime_type:<a href='/type/string'>string</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/method/account.getWallPaper'>account.getWallPaper</a>#fc8ddbea wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/method/account.getMultiWallPapers'>account.getMultiWallPapers</a>#65ad71dc wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputWallPaper'>InputWallPaper</a>&gt; = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt;;
<a href='/method/account.installWallPaper'>account.installWallPaper</a>#feed5769 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.saveWallPaper'>account.saveWallPaper</a>#6c5a5b37 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> unsave:<a href='/type/Bool'>Bool</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.getWallPapers'>account.getWallPapers</a>#7967d36 hash:<a href='/type/long'>long</a> = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/method/account.resetWallPapers'>account.resetWallPapers</a>#bb3b9804 = <a href='/type/Bool'>Bool</a>;</code></pre>
<h3><a class="anchor" href="#wallpaper-types" id="wallpaper-types" name="wallpaper-types"><i class="anchor-icon"></i></a>Wallpaper types</h3> <h3><a class="anchor" href="#wallpaper-types" id="wallpaper-types" name="wallpaper-types"><i class="anchor-icon"></i></a>Wallpaper types</h3>
<p>There are three main wallpaper types:</p> <p>There are three main wallpaper types:</p>
<ul> <ul>
@ -122,7 +99,70 @@ The <code>settings</code> field describes the transforms that should be applied
If set, <code>rotation</code> indicates clockwise rotation angle of the gradient, in degrees; 0-359. Must be always divisible by 45, default to 0 if not set. </p> If set, <code>rotation</code> indicates clockwise rotation angle of the gradient, in degrees; 0-359. Must be always divisible by 45, default to 0 if not set. </p>
<h4><a class="anchor" href="#freeform-gradient-fill" id="freeform-gradient-fill" name="freeform-gradient-fill"><i class="anchor-icon"></i></a>Freeform gradient fill</h4> <h4><a class="anchor" href="#freeform-gradient-fill" id="freeform-gradient-fill" name="freeform-gradient-fill"><i class="anchor-icon"></i></a>Freeform gradient fill</h4>
<pre><code><a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;</code></pre> <pre><code><a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;</code></pre>
<p>If the <code>background_color</code>, <code>second_background_color</code>, <code>third_background_color</code> and optionally <code>fourth_background_color</code> flags are set, the fill is made of a freeform gradient of the specified 3 or 4 RGB-24 colors. </p></div> <p>If the <code>background_color</code>, <code>second_background_color</code>, <code>third_background_color</code> and optionally <code>fourth_background_color</code> flags are set, the fill is made of a freeform gradient of the specified 3 or 4 RGB-24 colors. </p>
<h3><a class="anchor" href="#wallpaper-api" id="wallpaper-api" name="wallpaper-api"><i class="anchor-icon"></i></a>Wallpaper API</h3>
<p>Scheme:</p>
<pre><code><a href='/constructor/inputWallPaper'>inputWallPaper</a>#e630b979 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/inputWallPaperSlug'>inputWallPaperSlug</a>#72091c80 slug:<a href='/type/string'>string</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/inputWallPaperNoFile'>inputWallPaperNoFile</a>#967a462e id:<a href='/type/long'>long</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/account.wallPapersNotModified'>account.wallPapersNotModified</a>#1c199183 = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/constructor/account.wallPapers'>account.wallPapers</a>#cdc3858c hash:<a href='/type/long'>long</a> wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt; = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/constructor/wallPaper'>wallPaper</a>#a437c3ed id:<a href='/type/long'>long</a> flags:<a href='/type/%23'>#</a> creator:flags.0?<a href='/constructor/true'>true</a> default:flags.1?<a href='/constructor/true'>true</a> pattern:flags.3?<a href='/constructor/true'>true</a> dark:flags.4?<a href='/constructor/true'>true</a> access_hash:<a href='/type/long'>long</a> slug:<a href='/type/string'>string</a> document:<a href='/type/Document'>Document</a> settings:flags.2?<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;
---functions---
<a href='/method/account.uploadWallPaper'>account.uploadWallPaper</a>#dd853661 file:<a href='/type/InputFile'>InputFile</a> mime_type:<a href='/type/string'>string</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/method/account.getWallPaper'>account.getWallPaper</a>#fc8ddbea wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/method/account.getMultiWallPapers'>account.getMultiWallPapers</a>#65ad71dc wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputWallPaper'>InputWallPaper</a>&gt; = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt;;
<a href='/method/account.installWallPaper'>account.installWallPaper</a>#feed5769 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.saveWallPaper'>account.saveWallPaper</a>#6c5a5b37 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> unsave:<a href='/type/Bool'>Bool</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.getWallPapers'>account.getWallPapers</a>#7967d36 hash:<a href='/type/long'>long</a> = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/method/account.resetWallPapers'>account.resetWallPapers</a>#bb3b9804 = <a href='/type/Bool'>Bool</a>;</code></pre>
<h4><a class="anchor" href="#uploading-wallpapers" id="uploading-wallpapers" name="uploading-wallpapers"><i class="anchor-icon"></i></a>Uploading wallpapers</h4>
<pre><code><a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;
<a href='/constructor/wallPaper'>wallPaper</a>#a437c3ed id:<a href='/type/long'>long</a> flags:<a href='/type/%23'>#</a> creator:flags.0?<a href='/constructor/true'>true</a> default:flags.1?<a href='/constructor/true'>true</a> pattern:flags.3?<a href='/constructor/true'>true</a> dark:flags.4?<a href='/constructor/true'>true</a> access_hash:<a href='/type/long'>long</a> slug:<a href='/type/string'>string</a> document:<a href='/type/Document'>Document</a> settings:flags.2?<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
---functions---
<a href='/method/account.uploadWallPaper'>account.uploadWallPaper</a>#dd853661 file:<a href='/type/InputFile'>InputFile</a> mime_type:<a href='/type/string'>string</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;</code></pre>
<p><a href="/method/account.uploadWallPaper">account.uploadWallPaper</a> is used to upload <a href="#image-wallpapers">image</a> and <a href="#pattern-wallpapers">pattern</a> wallpapers.<br>
<a href="#fill-wallpapers">Fill wallpapers</a> don't require uploading since they have no associated file, and a <a href="/constructor/wallPaper">wallPaper</a> constructor can directly be generated client-side, specifying <code>id=0</code>. </p>
<p>Wallpapers can then be shared using a <a href="/api/links#wallpaper-links">wallpaper deep link »</a>, and/or <a href="#installing-wallpapers">installed as specified here (image and pattern wallpapers only) »</a>. </p>
<h4><a class="anchor" href="#installing-wallpapers" id="installing-wallpapers" name="installing-wallpapers"><i class="anchor-icon"></i></a>Installing wallpapers</h4>
<pre><code><a href='/constructor/inputWallPaper'>inputWallPaper</a>#e630b979 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/inputWallPaperSlug'>inputWallPaperSlug</a>#72091c80 slug:<a href='/type/string'>string</a> = <a href='/type/InputWallPaper'>InputWallPaper</a>;
<a href='/constructor/wallPaper'>wallPaper</a>#a437c3ed id:<a href='/type/long'>long</a> flags:<a href='/type/%23'>#</a> creator:flags.0?<a href='/constructor/true'>true</a> default:flags.1?<a href='/constructor/true'>true</a> pattern:flags.3?<a href='/constructor/true'>true</a> dark:flags.4?<a href='/constructor/true'>true</a> access_hash:<a href='/type/long'>long</a> slug:<a href='/type/string'>string</a> document:<a href='/type/Document'>Document</a> settings:flags.2?<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;
<a href='/constructor/account.wallPapersNotModified'>account.wallPapersNotModified</a>#1c199183 = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/constructor/account.wallPapers'>account.wallPapers</a>#cdc3858c hash:<a href='/type/long'>long</a> wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt; = <a href='/type/account.WallPapers'>account.WallPapers</a>;
---functions---
<a href='/method/account.getWallPaper'>account.getWallPaper</a>#fc8ddbea wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> = <a href='/type/WallPaper'>WallPaper</a>;
<a href='/method/account.getMultiWallPapers'>account.getMultiWallPapers</a>#65ad71dc wallpapers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputWallPaper'>InputWallPaper</a>&gt; = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/WallPaper'>WallPaper</a>&gt;;
<a href='/method/account.saveWallPaper'>account.saveWallPaper</a>#6c5a5b37 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> unsave:<a href='/type/Bool'>Bool</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.installWallPaper'>account.installWallPaper</a>#feed5769 wallpaper:<a href='/type/InputWallPaper'>InputWallPaper</a> settings:<a href='/type/WallPaperSettings'>WallPaperSettings</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/account.getWallPapers'>account.getWallPapers</a>#7967d36 hash:<a href='/type/long'>long</a> = <a href='/type/account.WallPapers'>account.WallPapers</a>;
<a href='/method/account.resetWallPapers'>account.resetWallPapers</a>#bb3b9804 = <a href='/type/Bool'>Bool</a>;</code></pre>
<p>Once you've <a href="#uploading-wallpapers">uploaded your wallpaper</a> or received a <a href="/api/links#wallpaper-links">wallpaper deep link</a>, it can be installed as follows. </p>
<p><em>Note that <a href="#fill-wallpapers">fill wallpapers</a> cannot be installed using the API, clients should install and keep track of them only locally, without synchronizing the wallpaper list or signalling installations.</em></p>
<p>The API keeps a list of wallpapers that the user can set as chat background, including some preinstalled ones.<br>
To fetch this list use <a href="/method/account.getWallPapers">account.getWallPapers</a>.<br>
To save a wallpaper to that list use <a href="/method/account.saveWallPaper">account.saveWallPaper</a> with <code>unsave=false</code>.<br>
To remove a wallpaper (including preinstalled wallpapers) from the list use <a href="/method/account.saveWallPaper">account.saveWallPaper</a> with <code>unsave=true</code>.<br>
To restore the default list, removing all installed wallpapers and reinstalling previously removed preinstalled wallpapers use <a href="/method/account.resetWallPapers">account.resetWallPapers</a>. </p>
<p>When a client sets a wallpaper as the default chat background, it should call <a href="/method/account.installWallPaper">account.installWallPaper</a> to signal this installation to the server. </p>
<p>In all cases where an <a href="/type/InputWallPaper">InputWallPaper</a> constructor is required, pass <a href="/constructor/inputWallPaperSlug">inputWallPaperSlug</a> when working with <a href="/api/links#wallpaper-links">wallpaper deep links</a> and <a href="/constructor/inputWallPaper">inputWallPaper</a> otherwise, using the ID and access hash fields of a full <a href="/constructor/wallPaper">wallPaper</a>.</p></div>
</div> </div>

View file

@ -75,7 +75,7 @@
<tr> <tr>
<td><strong>popup</strong></td> <td><strong>popup</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td>
<td>(boolTrue) if the message must be displayed in a popup.</td> <td>If set, the message must be displayed in a popup.</td>
</tr> </tr>
<tr> <tr>
<td><strong>inbox_date</strong></td> <td><strong>inbox_date</strong></td>

View file

@ -130,25 +130,6 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<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.signIn "79991234567" "2dc02d2cda9e615c84" "44444")
=
(auth.authorization
expires:1403938438
user:(userSelf
id:603177
first_name:"John"
last_name:"Doe"
phone:"79991234567"
photo:(userProfilePhotoEmpty)
status:(userStatusEmpty)
inactive:(boolTrue)
)
)
bcd51581 3939370b 33323139 37363534 63643212 32643230 39616463 35313665 00343863 34343405 00003434 45ca2b3b
=
f6b673a4 53ae6686 720535ec 00093429 686f4a04 0000006e 656f4403 3939370b 33323139 37363534 4f11bae1 09d05049 997275b5 d8487410</code></pre>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3> <h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#authsendcode" id="authsendcode" name="authsendcode"><i class="anchor-icon"></i></a><a href="/method/auth.sendCode">auth.sendCode</a></h4> <h4><a class="anchor" href="#authsendcode" id="authsendcode" name="authsendcode"><i class="anchor-icon"></i></a><a href="/method/auth.sendCode">auth.sendCode</a></h4>
<p>Send the verification code for login</p></div> <p>Send the verification code for login</p></div>

View file

@ -144,26 +144,7 @@
<td>The phone number is already in use.</td> <td>The phone number is already in use.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table></div>
<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.signUp "79991234567" "2dc02d2cda9e615c84" "44444" "John" "Doe")
=
(auth.authorization
expires:1403938438
user:(userSelf
id:603177
first_name:"John"
last_name:"Doe"
phone:"79991234567"
photo:(userProfilePhotoEmpty)
status:(userStatusEmpty)
inactive:(boolTrue)
)
)
1b067634 3939370b 33323139 37363534 63643212 32643230 39616463 35313665 00343863 34343405 00003434 686f4a04 0000006e 656f4403 c18027ca
=
f6b673a4 53ae6686 720535ec 00093429 686f4a04 0000006e 656f4403 3939370b 33323139 37363534 4f11bae1 09d05049 997275b5 d8487410</code></pre></div>
</div> </div>