Update content of files

This commit is contained in:
GitHub Action 2022-09-05 17:08:37 +00:00
parent 627c8ade07
commit 56cf86143c
6 changed files with 680 additions and 139 deletions

View file

@ -1,6 +1,6 @@
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Telegram Beta</title><link>/v0.1/public/sparkle/apps/6ed2ac30-49e1-4073-87c2-f1ffcb74e81f</link><item><title>Version 8.9 (234977)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Telegram Beta</title><link>/v0.1/public/sparkle/apps/6ed2ac30-49e1-4073-87c2-f1ffcb74e81f</link><item><title>Version 8.9 (236142)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfixes&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Mon, 05 Sep 2022 17:03:26 GMT</pubDate><enclosure sparkle:version="236142" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MCwCFCVFPigD3LnZhhSVYApy7nte6QjcAhQH/iC14/lce3wZCl8OTjCsqjCd2g==" url="https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/d6357d9e-3dae-4206-a929-4fd6c2f0a625/Telegram-8.9.236142.app.zip?sv=2019-02-02&amp;sr=c&amp;sig=telegram-crawler;se=telegram-crawler;sp=r" length="83936576" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item><item><title>Version 8.9 (234977)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Thu, 18 Aug 2022 17:20:31 GMT</pubDate><enclosure sparkle:version="234977" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MCwCFCGLFRI+EkNY7wXnPasOli1S36LPAhQYSu40XXmfH5lin/wmwvhIHM7MRw==" url="https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/f5ff6ba0-5d96-4cb3-a288-3bb2dd4737d0/Telegram-8.9.234977.app.zip?sv=2019-02-02&amp;sr=c&amp;sig=telegram-crawler;se=telegram-crawler;sp=r" length="84968514" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item><item><title>Version 8.9 (234948)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Tue, 16 Aug 2022 18:15:18 GMT</pubDate><enclosure sparkle:version="234948" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MCwCFEwObmzpJ1djoU6bHXrz5hVaZPZ+AhQUssI1TtfjxIEZ8asvz1+0+mqJdA==" url="https://appcenter-filemanagement-distrib5ede6f06e.azureedge.net/1ef6ef1c-6ac2-4448-902b-4806a5e0252f/Telegram-8.9.234948.app.zip?sv=2019-02-02&amp;sr=c&amp;sig=telegram-crawler;se=telegram-crawler;sp=r" length="84970226" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item><item><title>Version 8.9 (234937)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Mon, 15 Aug 2022 19:42:35 GMT</pubDate><enclosure sparkle:version="234937" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MC0CFQCYX8oou0vT33o0hJJifsXxJ92JWgIUfffDIzR/UNS8I279e3w95g7L7qc=" url="https://appcenter-filemanagement-distrib5ede6f06e.azureedge.net/5d673ca6-27f2-4922-8d22-5673b2c7c83e/Telegram-8.9.234937.app.zip?sv=2019-02-02&amp;sr=c&amp;sig=telegram-crawler;se=telegram-crawler;sp=r" length="84969169" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item><item><title>Version 8.9 (234927)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Mon, 15 Aug 2022 17:44:07 GMT</pubDate><enclosure sparkle:version="234927" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MC0CFDHKYM4uIci9xmBkgHBvx4pmMM7/AhUAnpy3cnnlj8agO/PH4J9ZjXcGh0k=" url="https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/9eb5959a-d53d-4359-a9bc-b5358d3d73ef/Telegram-8.9.234927.app.zip?sv=2019-02-02&amp;sr=c&amp;sig=telegram-crawler;se=telegram-crawler;sp=r" length="84971142" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item><item><title>Version 8.9 (234913)</title><description>&lt;div&gt;&lt;p&gt;[&amp;quot;bugfix&amp;quot;]&lt;/p&gt;
&lt;/div&gt;</description><pubDate>Mon, 15 Aug 2022 11:53:32 GMT</pubDate><enclosure sparkle:version="234913" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MCwCFAfuTJqol0/g86zdJuv87XIIHgj3AhRat0Ai0SVQtNrbrVMOPvQ6glGYwA==" url="null" length="84967339" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item></channel></rss>
&lt;/div&gt;</description><pubDate>Mon, 15 Aug 2022 17:44:07 GMT</pubDate><enclosure sparkle:version="234927" sparkle:shortVersionString="8.9" sparkle:dsaSignature="MC0CFDHKYM4uIci9xmBkgHBvx4pmMM7/AhUAnpy3cnnlj8agO/PH4J9ZjXcGh0k=" url="null" length="84971142" type="application/octet-stream"></enclosure><sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion></item></channel></rss>

View file

@ -2,14 +2,12 @@
<html class="">
<head>
<meta charset="utf-8">
<title>Custom-emoji</title>
<title>Custom emojis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Custom emojis
stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true…">
<meta property="og:title" content="Custom-emoji">
<meta property="description" content="Telegram allows including animated and static custom emojis inside of messages.">
<meta property="og:title" content="Custom emojis">
<meta property="og:image" content="">
<meta property="og:description" content="Custom emojis
stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true…">
<meta property="og:description" content="Telegram allows including animated and static custom emojis inside of messages.">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
@ -41,30 +39,24 @@ stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:fl
<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/custom-emoji" >Custom-emoji</a></li></ul></div>
<h1 id="dev_page_title">Custom-emoji</h1>
<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/custom-emoji" >Custom emojis</a></li></ul></div>
<h1 id="dev_page_title">Custom emojis</h1>
<div id="dev_page_content"><!-- scroll_nav -->
<p>Custom emojis </p>
<pre><code><a href='/constructor/stickerSet'>stickerSet</a>#2dd14edc flags:<a href='/type/%23'>#</a> archived:flags.1?<a href='/constructor/true'>true</a> official:flags.2?<a href='/constructor/true'>true</a> masks:flags.3?<a href='/constructor/true'>true</a> animated:flags.5?<a href='/constructor/true'>true</a> videos:flags.6?<a href='/constructor/true'>true</a> emojis:flags.7?<a href='/constructor/true'>true</a> installed_date:flags.0?<a href='/type/int'>int</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> title:<a href='/type/string'>string</a> short_name:<a href='/type/string'>string</a> thumbs:flags.4?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/PhotoSize'>PhotoSize</a>&gt; thumb_dc_id:flags.4?<a href='/type/int'>int</a> thumb_version:flags.4?<a href='/type/int'>int</a> thumb_document_id:flags.8?<a href='/type/long'>long</a> count:<a href='/type/int'>int</a> hash:<a href='/type/int'>int</a> = <a href='/type/StickerSet'>StickerSet</a>;
<p>Telegram allows including animated and static custom emojis inside of messages.</p>
<pre><code><a href='/constructor/messageEntityCustomEmoji'>messageEntityCustomEmoji</a>#c8cf05f8 offset:<a href='/type/int'>int</a> length:<a href='/type/int'>int</a> document_id:<a href='/type/long'>long</a> = <a href='/type/MessageEntity'>MessageEntity</a>;
<a href='/constructor/messageEntityCustomEmoji'>messageEntityCustomEmoji</a>#c8cf05f8 offset:<a href='/type/int'>int</a> length:<a href='/type/int'>int</a> document_id:<a href='/type/long'>long</a> = <a href='/type/MessageEntity'>MessageEntity</a>;
<a href='/constructor/document'>document</a>#8fd4c4d8 flags:<a href='/type/%23'>#</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> file_reference:<a href='/type/bytes'>bytes</a> date:<a href='/type/int'>int</a> mime_type:<a href='/type/string'>string</a> size:<a href='/type/long'>long</a> thumbs:flags.0?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/PhotoSize'>PhotoSize</a>&gt; video_thumbs:flags.1?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/VideoSize'>VideoSize</a>&gt; dc_id:<a href='/type/int'>int</a> attributes:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/DocumentAttribute'>DocumentAttribute</a>&gt; = <a href='/type/Document'>Document</a>;
<a href='/constructor/documentAttributeCustomEmoji'>documentAttributeCustomEmoji</a>#fd149899 flags:<a href='/type/%23'>#</a> free:flags.0?<a href='/constructor/true'>true</a> alt:<a href='/type/string'>string</a> stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> = <a href='/type/DocumentAttribute'>DocumentAttribute</a>;
<a href='/constructor/stickerSetFullCovered'>stickerSetFullCovered</a>#1aed5ee5 set:<a href='/type/StickerSet'>StickerSet</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; documents:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/StickerSetCovered'>StickerSetCovered</a>;
<a href='/constructor/updateReadFeaturedEmojiStickers'>updateReadFeaturedEmojiStickers</a>#fb4c496c = <a href='/type/Update'>Update</a>;
<a href='/constructor/messages.allStickersNotModified'>messages.allStickersNotModified</a>#e86602c3 = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
<a href='/constructor/messages.allStickers'>messages.allStickers</a>#cdbbcebb hash:<a href='/type/long'>long</a> sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSet'>StickerSet</a>&gt; = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
---functions---
<a href='/method/messages.getCustomEmojiDocuments'>messages.getCustomEmojiDocuments</a>#d9ab0f54 document_id:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt;;
<a href='/method/messages.getEmojiStickers'>messages.getEmojiStickers</a>#fbfca18f hash:<a href='/type/long'>long</a> = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
<a href='/method/messages.getFeaturedEmojiStickers'>messages.getFeaturedEmojiStickers</a>#0ecf6736 hash:<a href='/type/long'>long</a> = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;</code></pre></div>
<a href='/method/messages.getCustomEmojiDocuments'>messages.getCustomEmojiDocuments</a>#d9ab0f54 document_id:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt;;</code></pre>
<p>Custom emojis are a special kind of <a href="/api/entities">entity »</a>, containing just a <code>document_id</code>, which can be passed to <a href="/method/messages.getCustomEmojiDocuments">messages.getCustomEmojiDocuments</a> to fetch the <a href="/api/stickers">static, animated or video sticker emoji</a> that should be displayed to the user as described in the <a href="/api/stickers">stickers documentation</a>. </p>
<p>Sticker documents will contain <a href="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a> attribute instead of a <a href="/constructor/documentAttributeSticker">documentAttributeSticker</a>, containing information on the associated emoji, whether the emoji can be used by non-premium users (<code>free</code>) and the associated <code>stickerset</code>.</p>
<p>Like stickers, custom emojis are organized in <a href="/api/stickers#stickersets">stickersets</a>: see the <a href="/api/stickers">stickers documentation »</a> for more info on how to work with them.</p></div>
</div>

View file

@ -106,6 +106,7 @@ code
<li><a href="/constructor/inputMessageEntityMentionName">inputMessageEntityMentionName</a> =&gt; <a href="https://t.me/botfather">Mention a user</a></li>
<li><a href="/constructor/inputMessageEntityMentionName">messageEntityMention</a> =&gt; <a href="https://t.me/botfather">@botfather</a> (this mention is generated automatically server-side for @usernames in messages)</li>
</ul>
<p>Also, <a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a> entities are used for <a href="/api/custom-emoji">custom emojis »</a>.</p>
<p>A number of other entities are also available, see the <a href="/type/MessageEntity">type page for the full list »</a>.</p></div>
</div>

View file

@ -0,0 +1,133 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Masks</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="inputStickeredMediaPhoto#4a992157 id:InputPhoto = InputStickeredMedia;
inputStickeredMediaDocument#438865b id:InputDocument…">
<meta property="og:title" content="Masks">
<meta property="og:image" content="">
<meta property="og:description" content="inputStickeredMediaPhoto#4a992157 id:InputPhoto = InputStickeredMedia;
inputStickeredMediaDocument#438865b id:InputDocument…">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?231" rel="stylesheet" media="screen">
<style>
</style>
</head>
<body class="preload">
<div class="dev_page_wrap">
<div class="dev_page_head navbar navbar-static-top navbar-tg">
<div class="navbar-inner">
<div class="container clearfix">
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
<ul class="nav navbar-nav">
<li><a href="//telegram.org/">Home</a></li>
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
<li class="active"><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class=""><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/api/masks" >Masks</a></li></ul></div>
<h1 id="dev_page_title">Masks</h1>
<div id="dev_page_content"><!-- scroll_nav -->
<p><a href='/constructor/inputStickeredMediaPhoto'>inputStickeredMediaPhoto</a>#4a992157 id:<a href='/type/InputPhoto'>InputPhoto</a> = <a href='/type/InputStickeredMedia'>InputStickeredMedia</a>;
<a href='/constructor/inputStickeredMediaDocument'>inputStickeredMediaDocument</a>#438865b id:<a href='/type/InputDocument'>InputDocument</a> = <a href='/type/InputStickeredMedia'>InputStickeredMedia</a>;</p>
<pre><code><a href='/constructor/inputStickerSetItem'>inputStickerSetItem</a>#ffa0a496 flags:<a href='/type/%23'>#</a> document:<a href='/type/InputDocument'>InputDocument</a> emoji:<a href='/type/string'>string</a> mask_coords:flags.0?<a href='/type/MaskCoords'>MaskCoords</a> = <a href='/type/InputStickerSetItem'>InputStickerSetItem</a>;
---functions---
<a href='/method/messages.getAttachedStickers'>messages.getAttachedStickers</a>#cc5b67cc media:<a href='/type/InputStickeredMedia'>InputStickeredMedia</a> = <a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSetCovered'>StickerSetCovered</a>&gt;;
<a href='/method/messages.getMaskStickers'>messages.getMaskStickers</a>#640f82b8 hash:<a href='/type/long'>long</a> = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;</code></pre></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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/api">API</a></li>
<li><a href="//translations.telegram.org/">Translations</a></li>
<li><a href="//instantview.telegram.org/">Instant View</a></li>
</ul>
</div>
</div>
<div class="footer_columns_wrap footer_mobile">
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/blog">Blog</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps">Apps</a></h5>
</div>
<div class="footer_column">
<h5><a href="//core.telegram.org/">Platform</a></h5>
</div>
<div class="footer_column">
<h5><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)">Twitter</a></h5>
</div>
</div>
</div>
</div>
<script src="/js/main.js?46"></script>
<script src="/js/jquery.min.js?1"></script>
<script src="/js/bootstrap.min.js?1"></script>
<script>window.initDevPageNav&&initDevPageNav();
backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -0,0 +1,415 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Stickers</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Telegram clients support displaying static and animated stickers.">
<meta property="og:title" content="Stickers">
<meta property="og:image" content="">
<meta property="og:description" content="Telegram clients support displaying static and animated stickers.">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?231" rel="stylesheet" media="screen">
<style>
</style>
</head>
<body class="preload">
<div class="dev_page_wrap">
<div class="dev_page_head navbar navbar-static-top navbar-tg">
<div class="navbar-inner">
<div class="container clearfix">
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
<ul class="nav navbar-nav">
<li><a href="//telegram.org/">Home</a></li>
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
<li class="active"><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class=""><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/api/stickers" >Stickers</a></li></ul></div>
<h1 id="dev_page_title">Stickers</h1>
<div id="dev_page_content"><!-- scroll_nav -->
<p>Telegram clients support displaying static and animated stickers.</p>
<h3><a class="anchor" href="#displaying-stickers" id="displaying-stickers" name="displaying-stickers"><i class="anchor-icon"></i></a>Displaying stickers</h3>
<pre><code><a href='/constructor/document'>document</a>#8fd4c4d8 flags:<a href='/type/%23'>#</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> file_reference:<a href='/type/bytes'>bytes</a> date:<a href='/type/int'>int</a> mime_type:<a href='/type/string'>string</a> size:<a href='/type/long'>long</a> thumbs:flags.0?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/PhotoSize'>PhotoSize</a>&gt; video_thumbs:flags.1?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/VideoSize'>VideoSize</a>&gt; dc_id:<a href='/type/int'>int</a> attributes:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/DocumentAttribute'>DocumentAttribute</a>&gt; = <a href='/type/Document'>Document</a>;
<a href='/constructor/documentAttributeSticker'>documentAttributeSticker</a>#6319d612 flags:<a href='/type/%23'>#</a> mask:flags.1?<a href='/constructor/true'>true</a> alt:<a href='/type/string'>string</a> stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> mask_coords:flags.0?<a href='/type/MaskCoords'>MaskCoords</a> = <a href='/type/DocumentAttribute'>DocumentAttribute</a>;
<a href='/constructor/inputStickerSetEmpty'>inputStickerSetEmpty</a>#ffb62b95 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetID'>inputStickerSetID</a>#9de7a269 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetShortName'>inputStickerSetShortName</a>#861cc8a0 short_name:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmoji'>inputStickerSetAnimatedEmoji</a>#28703c8 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetDice'>inputStickerSetDice</a>#e67f520e emoticon:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmojiAnimations'>inputStickerSetAnimatedEmojiAnimations</a>#cde3739 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetPremiumGifts'>inputStickerSetPremiumGifts</a>#c88b3b02 = <a href='/type/InputStickerSet'>InputStickerSet</a>;</code></pre>
<p>Stickers can be contained in <a href="/constructor/document">document</a> constructors attached to <a href="/constructor/message">messages</a>, and always have an attribute of type <a href="/constructor/documentAttributeSticker">documentAttributeSticker</a>. </p>
<p>The <a href="/constructor/documentAttributeSticker">documentAttributeSticker</a> attribute contains information about the associated <a href="#stickersets">stickerset</a>, the emoji that represents the sticker, and more. </p>
<p>There are multiple available sticker types:</p>
<ul>
<li><a href="#static-stickers">Static stickers »</a></li>
<li><a href="#animated-stickers">Animated stickers »</a></li>
<li><a href="#video-stickers">Video stickers »</a></li>
</ul>
<p>Like all files, stickers have a set of previews that should be handled as described <a href="/api/files#image-thumbnail-types">here »</a>.</p>
<p>Stickers are organized in <a href="#stickersets">stickersets »</a>, and are also used in the following contexts:</p>
<ul>
<li><a href="/api/dice">Dice »</a></li>
<li><a href="/api/animated-emojis">Animated emojis »</a></li>
<li><a href="/api/custom-emoji">Custom emojis »</a></li>
<li><a href="/api/reactions">Reactions »</a></li>
<li><a href="/api/masks">Mask stickers »</a></li>
</ul>
<h4><a class="anchor" href="#static-stickers" id="static-stickers" name="static-stickers"><i class="anchor-icon"></i></a>Static stickers</h4>
<p>Static stickers are <a href="https://en.wikipedia.org/wiki/WebP">WebP</a> images with the following specs:</p>
<ul>
<li>For stickers, either the width or height must be equal to 512 pixels.</li>
<li>For <a href="/api/custom-emoji">custom emojis</a>, the resolution must be equal 100x100 pixels.</li>
<li>Transparency is supported.</li>
</ul>
<p>They're identified by <code>mime_type</code> field of the associated <a href="/constructor/document">document</a>, always equal to <code>image/webp</code>.</p>
<p>See <a href="/stickers#static-stickers-and-emoji">here »</a> for tips on how to create the perfect static sticker, and <a href="#creating-stickersets">here »</a> for info on how to upload it using the API.</p>
<h4><a class="anchor" href="#animated-stickers" id="animated-stickers" name="animated-stickers"><i class="anchor-icon"></i></a>Animated stickers</h4>
<p>Animated stickers are <a href="https://en.wikipedia.org/wiki/Lottie_(file_format)">Lottie vector animations »</a>. </p>
<p>Telegram uses a special <code>.tgs</code> file format for lottie animations, which consists in a gzipped bodymovin JSON file, playable using the <a href="https://github.com/Samsung/rlottie">rlottie</a> library. </p>
<p>Lottie animation specs:</p>
<ul>
<li>The canvas size must be 512х512 pixels.</li>
<li>Objects must not leave the canvas.</li>
<li>Animation length must not exceed 3 seconds.</li>
<li>All animations must be looped.</li>
<li>All animations must run at 60 Frames Per Second.</li>
</ul>
<p>They're identified by <code>mime_type</code> field of the associated <a href="/constructor/document">document</a>, always equal to <code>application/x-tgsticker</code>.</p>
<p>See <a href="/stickers#creating-animations">here »</a> for tips on how to create the perfect animated sticker, and <a href="#creating-stickersets">here »</a> for info on how to upload it using the API.</p>
<h4><a class="anchor" href="#video-stickers" id="video-stickers" name="video-stickers"><i class="anchor-icon"></i></a>Video stickers</h4>
<p>Video stickers are <a href="https://en.wikipedia.org/wiki/VP9">VP9</a> videos with the following specs:</p>
<ul>
<li>The video must be encoded using <a href="https://en.wikipedia.org/wiki/VP9">VP9</a>, in a <a href="https://en.wikipedia.org/wiki/WebM">WebM</a> container.</li>
<li>The <a href="https://en.wikipedia.org/wiki/WebM">WebM</a> container must have <strong>no audio stream</strong>.</li>
<li>For stickers, either the width or height must be equal to 512 pixels.</li>
<li>For <a href="/api/custom-emoji">custom emojis</a>, the resolution must be equal 100x100 pixels.</li>
<li>Maximum duration: 3 seconds.</li>
<li>Frame rate: up to 30 FPS.</li>
<li>Transparency is supported.</li>
<li>The video should be looped for optimal user experience.</li>
</ul>
<p>They're identified by <code>mime_type</code> field of the associated <a href="/constructor/document">document</a>, always equal to <code>video/webm</code>.</p>
<p>See <a href="/stickers#video-stickers-and-emoji">here »</a> for tips on how to create the perfect video sticker, and <a href="#creating-stickersets">here »</a> for info on how to upload it using the API.</p>
<h3><a class="anchor" href="#stickersets" id="stickersets" name="stickersets"><i class="anchor-icon"></i></a>Stickersets</h3>
<pre><code><a href='/constructor/inputStickerSetID'>inputStickerSetID</a>#9de7a269 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetShortName'>inputStickerSetShortName</a>#861cc8a0 short_name:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmoji'>inputStickerSetAnimatedEmoji</a>#28703c8 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmojiAnimations'>inputStickerSetAnimatedEmojiAnimations</a>#cde3739 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetDice'>inputStickerSetDice</a>#e67f520e emoticon:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetPremiumGifts'>inputStickerSetPremiumGifts</a>#c88b3b02 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/messages.stickerSet'>messages.stickerSet</a>#b60a24a6 set:<a href='/type/StickerSet'>StickerSet</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; documents:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/constructor/messages.stickerSetNotModified'>messages.stickerSetNotModified</a>#d3f924eb = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/constructor/stickerSet'>stickerSet</a>#2dd14edc flags:<a href='/type/%23'>#</a> archived:flags.1?<a href='/constructor/true'>true</a> official:flags.2?<a href='/constructor/true'>true</a> masks:flags.3?<a href='/constructor/true'>true</a> animated:flags.5?<a href='/constructor/true'>true</a> videos:flags.6?<a href='/constructor/true'>true</a> emojis:flags.7?<a href='/constructor/true'>true</a> installed_date:flags.0?<a href='/type/int'>int</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> title:<a href='/type/string'>string</a> short_name:<a href='/type/string'>string</a> thumbs:flags.4?<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/PhotoSize'>PhotoSize</a>&gt; thumb_dc_id:flags.4?<a href='/type/int'>int</a> thumb_version:flags.4?<a href='/type/int'>int</a> thumb_document_id:flags.8?<a href='/type/long'>long</a> count:<a href='/type/int'>int</a> hash:<a href='/type/int'>int</a> = <a href='/type/StickerSet'>StickerSet</a>;
<a href='/constructor/stickerPack'>stickerPack</a>#12b299d4 emoticon:<a href='/type/string'>string</a> documents:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/StickerPack'>StickerPack</a>;
---functions---
<a href='/method/messages.getStickerSet'>messages.getStickerSet</a>#c8a0ec74 stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> hash:<a href='/type/int'>int</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;</code></pre>
<p>Stickers are grouped together in so-called sticker packs: however, in the API they're referred to as "sticker sets", and the name "sticker pack" is reserved for something else, read on for more info. </p>
<p>Use <a href="/method/messages.getStickerSet">messages.getStickerSet</a> to fetch information about the stickerset, providing the following parameters:</p>
<ul>
<li><code>stickerset</code> - One of the following constructors:<ul>
<li><a href="/constructor/inputStickerSetID">inputStickerSetID</a> - For stickersets contained in received messages</li>
<li><a href="/constructor/inputStickerSetShortName">inputStickerSetShortName</a> - For stickersets contained in <a href="/api/links#stickerset-links">sticker deep links »</a></li>
<li><a href="/constructor/inputStickerSetAnimatedEmoji">inputStickerSetAnimatedEmoji</a> - For <a href="/api/animated-emojis">animated emoji »</a> stickersets.</li>
<li><a href="/constructor/inputStickerSetAnimatedEmojiAnimations">inputStickerSetAnimatedEmojiAnimations</a> - For <a href="/api/animated-emojis#emoji-reactions">animated emoji reaction »</a> stickersets.</li>
<li><a href="/constructor/inputStickerSetDice">inputStickerSetDice</a> - For <a href="/api/dice">dice »</a> stickersets.</li>
<li><a href="/constructor/inputStickerSetPremiumGifts">inputStickerSetPremiumGifts</a> - For <a href="/api/premium">premium gift animation »</a> stickersets.</li>
</ul>
</li>
<li><code>hash</code> - Initially 0, afterwards should contain the <code>hash</code> field from the returned <a href="/constructor/stickerSet">stickerSet</a>.</li>
</ul>
<p>The method will return a <a href="/constructor/messages.stickerSetNotModified">messages.stickerSetNotModified</a> if a non-zero <code>hash</code> is provided and the stickerset wasn't modified since the last time we fetched it.<br>
Otherwise, a <a href="/constructor/messages.stickerSet">messages.stickerSet</a> will be returned, containing:</p>
<ul>
<li>A <a href="/constructor/stickerSet">stickerSet</a> constructor with info about the stickerset</li>
<li>A vector of <a href="/constructor/document">document</a>, containing all the stickers.
Note that even if we provided an old <code>hash</code> and just a few stickers were modified/reordered, all stickers will be returned anyway. </li>
<li>A vector of <a href="/constructor/stickerPack">stickerPack</a> constructors, containing all the stickers IDs in the stickerpack, grouped by emoji.<br>
The main emoji to use when previewing stickers in the chat list is present in the <code>alt</code> field of the <a href="/constructor/document">document</a>.<br>
This field is actually used to allow associating more than one emoji to a sticker: this means that the same document ID may be present in multiple <a href="/constructor/stickerPack">stickerPacks</a>.</li>
</ul>
<h3><a class="anchor" href="#stickerset-previews" id="stickerset-previews" name="stickerset-previews"><i class="anchor-icon"></i></a>Stickerset previews</h3>
<pre><code><a href='/constructor/stickerSetCovered'>stickerSetCovered</a>#6410a5d2 set:<a href='/type/StickerSet'>StickerSet</a> cover:<a href='/type/Document'>Document</a> = <a href='/type/StickerSetCovered'>StickerSetCovered</a>;
<a href='/constructor/stickerSetMultiCovered'>stickerSetMultiCovered</a>#3407e51b set:<a href='/type/StickerSet'>StickerSet</a> covers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/StickerSetCovered'>StickerSetCovered</a>;
<a href='/constructor/stickerSetFullCovered'>stickerSetFullCovered</a>#1aed5ee5 set:<a href='/type/StickerSet'>StickerSet</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; documents:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/StickerSetCovered'>StickerSetCovered</a>;</code></pre>
<p>Certain parts of the API may return partial <a href="/type/StickerSetCovered">StickerSetCovered</a> constructors instead of full <a href="/constructor/document">document</a> constructors for every sticker in the set:</p>
<ul>
<li><a href="/constructor/stickerSetCovered">stickerSetCovered</a> - Contains generic info about a stickerset and one preview sticker: use <a href="/method/messages.getStickerSet">messages.getStickerSet</a> to fetch all the stickers in the stickerset.</li>
<li><a href="/constructor/stickerSetMultiCovered">stickerSetMultiCovered</a> - Contains generic info about a stickerset and multiple preview stickers: use <a href="/method/messages.getStickerSet">messages.getStickerSet</a> to fetch all the stickers in the stickerset.</li>
<li><a href="/constructor/stickerSetFullCovered">stickerSetFullCovered</a> - Contains generic info about a stickerset and all stickers in the set (not just a preview): currently only used for <a href="/api/custom-emoji">custom emoji stickersets</a>, to avoid a further call to <a href="/method/messages.getStickerSet">messages.getStickerSet</a>.</li>
</ul>
<p>Also, like all files, sticker <a href="/constructor/document">documents</a> have a set of previews that should be handled as described <a href="/api/files#image-thumbnail-types">here »</a>.</p>
<h3><a class="anchor" href="#installing-stickers" id="installing-stickers" name="installing-stickers"><i class="anchor-icon"></i></a>Installing stickers</h3>
<pre><code><a href='/constructor/inputStickerSetID'>inputStickerSetID</a>#9de7a269 id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetShortName'>inputStickerSetShortName</a>#861cc8a0 short_name:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmoji'>inputStickerSetAnimatedEmoji</a>#28703c8 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetAnimatedEmojiAnimations'>inputStickerSetAnimatedEmojiAnimations</a>#cde3739 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetDice'>inputStickerSetDice</a>#e67f520e emoticon:<a href='/type/string'>string</a> = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/inputStickerSetPremiumGifts'>inputStickerSetPremiumGifts</a>#c88b3b02 = <a href='/type/InputStickerSet'>InputStickerSet</a>;
<a href='/constructor/messages.stickerSetInstallResultSuccess'>messages.stickerSetInstallResultSuccess</a>#38641628 = <a href='/type/messages.StickerSetInstallResult'>messages.StickerSetInstallResult</a>;
<a href='/constructor/messages.stickerSetInstallResultArchive'>messages.stickerSetInstallResultArchive</a>#35e410a8 sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSetCovered'>StickerSetCovered</a>&gt; = <a href='/type/messages.StickerSetInstallResult'>messages.StickerSetInstallResult</a>;
<a href='/constructor/messages.allStickersNotModified'>messages.allStickersNotModified</a>#e86602c3 = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
<a href='/constructor/messages.allStickers'>messages.allStickers</a>#cdbbcebb hash:<a href='/type/long'>long</a> sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSet'>StickerSet</a>&gt; = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
<a href='/constructor/updateNewStickerSet'>updateNewStickerSet</a>#688a30aa stickerset:<a href='/type/messages.StickerSet'>messages.StickerSet</a> = <a href='/type/Update'>Update</a>;
<a href='/constructor/updateStickerSetsOrder'>updateStickerSetsOrder</a>#bb2d201 flags:<a href='/type/%23'>#</a> masks:flags.0?<a href='/constructor/true'>true</a> emojis:flags.1?<a href='/constructor/true'>true</a> order:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/Update'>Update</a>;
<a href='/constructor/updateStickerSets'>updateStickerSets</a>#43ae3dec = <a href='/type/Update'>Update</a>;
---functions---
<a href='/method/messages.installStickerSet'>messages.installStickerSet</a>#c78fe460 stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> archived:<a href='/type/Bool'>Bool</a> = <a href='/type/messages.StickerSetInstallResult'>messages.StickerSetInstallResult</a>;
<a href='/method/messages.uninstallStickerSet'>messages.uninstallStickerSet</a>#f96e55de stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.toggleStickerSets'>messages.toggleStickerSets</a>#b5052fea flags:<a href='/type/%23'>#</a> uninstall:flags.0?<a href='/constructor/true'>true</a> archive:flags.1?<a href='/constructor/true'>true</a> unarchive:flags.2?<a href='/constructor/true'>true</a> stickersets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputStickerSet'>InputStickerSet</a>&gt; = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.reorderStickerSets'>messages.reorderStickerSets</a>#78337739 flags:<a href='/type/%23'>#</a> masks:flags.0?<a href='/constructor/true'>true</a> emojis:flags.1?<a href='/constructor/true'>true</a> order:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.getAllStickers'>messages.getAllStickers</a>#b8a0a1a8 hash:<a href='/type/long'>long</a> = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;
<a href='/method/messages.getEmojiStickers'>messages.getEmojiStickers</a>#fbfca18f hash:<a href='/type/long'>long</a> = <a href='/type/messages.AllStickers'>messages.AllStickers</a>;</code></pre>
<p>A <a href="#stickersets">stickerset</a> can be installed using <a href="/method/messages.installStickerSet">messages.installStickerSet</a>, <code>archived=false</code>, with possible return values: </p>
<ul>
<li><a href="/constructor/messages.stickerSetInstallResultSuccess">messages.stickerSetInstallResultSuccess</a> - The stickerset was successfully installed</li>
<li><a href="/constructor/messages.stickerSetInstallResultArchive">messages.stickerSetInstallResultArchive</a> - The stickerset was successfully installed, displacing some older unused stickersets specified in the <code>sets</code> field by <a href="#archived-stickers">archiving them</a>. </li>
</ul>
<p>Use <a href="/method/messages.uninstallStickerSet">messages.uninstallStickerSet</a> or <a href="/method/messages.toggleStickerSets">messages.toggleStickerSets</a> with the <code>uninstall</code> flag to uninstall one or more stickersets. </p>
<p>An <a href="/constructor/updateNewStickerSet">updateNewStickerSet</a> update will be emitted to the other logged-in sessions when installing stickersets.<br>
An <a href="/constructor/updateStickerSets">updateStickerSets</a> update will be emitted to the other logged-in sessions when uninstalling or archiving stickersets.<br>
Both updates should trigger a call to <a href="/method/messages.getAllStickers">messages.getAllStickers</a>, <a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a>, <a href="/method/messages.getEmojiStickers">messages.getEmojiStickers</a>. </p>
<p>Use <a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a> to reorder installed stickersets by the <a href="/constructor/stickerSet">stickerSet</a> ID: notice that normal, <a href="/api/masks">mask</a> and <a href="/api/custom-emoji">custom emoji</a> stickersets are ordered independently, use the appropriate flags to sort the correct type of stickerset.</p>
<p>An <a href="/constructor/updateStickerSetsOrder">updateStickerSetsOrder</a> update will be emitted to the other logged-in sessions when reordering stickersets.<br>
This update should trigger a call to <a href="/method/messages.getAllStickers">messages.getAllStickers</a>, <a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a>, <a href="/method/messages.getEmojiStickers">messages.getEmojiStickers</a>. </p>
<p>Use <a href="/method/messages.getAllStickers">messages.getAllStickers</a> to fetch all installed and non-archived stickersets.<br>
Use <a href="/method/messages.getEmojiStickers">messages.getEmojiStickers</a> to fetch all installed and non-archived <a href="/api/custom-emoji">custom emoji</a> stickersets. </p>
<h3><a class="anchor" href="#creating-stickersets" id="creating-stickersets" name="creating-stickersets"><i class="anchor-icon"></i></a>Creating stickersets</h3>
<pre><code><a href='/constructor/inputStickerSetItem'>inputStickerSetItem</a>#ffa0a496 flags:<a href='/type/%23'>#</a> document:<a href='/type/InputDocument'>InputDocument</a> emoji:<a href='/type/string'>string</a> mask_coords:flags.0?<a href='/type/MaskCoords'>MaskCoords</a> = <a href='/type/InputStickerSetItem'>InputStickerSetItem</a>;
<a href='/constructor/messages.stickerSet'>messages.stickerSet</a>#b60a24a6 set:<a href='/type/StickerSet'>StickerSet</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; documents:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/constructor/messages.stickerSetNotModified'>messages.stickerSetNotModified</a>#d3f924eb = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/constructor/stickers.suggestedShortName'>stickers.suggestedShortName</a>#85fea03f short_name:<a href='/type/string'>string</a> = <a href='/type/stickers.SuggestedShortName'>stickers.SuggestedShortName</a>;
---functions---
<a href='/method/messages.uploadMedia'>messages.uploadMedia</a>#519bc2b1 peer:<a href='/type/InputPeer'>InputPeer</a> media:<a href='/type/InputMedia'>InputMedia</a> = <a href='/type/MessageMedia'>MessageMedia</a>;
<a href='/method/stickers.checkShortName'>stickers.checkShortName</a>#284b3639 short_name:<a href='/type/string'>string</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/stickers.suggestShortName'>stickers.suggestShortName</a>#4dafc503 title:<a href='/type/string'>string</a> = <a href='/type/stickers.SuggestedShortName'>stickers.SuggestedShortName</a>;
<a href='/method/stickers.createStickerSet'>stickers.createStickerSet</a>#9021ab67 flags:<a href='/type/%23'>#</a> masks:flags.0?<a href='/constructor/true'>true</a> animated:flags.1?<a href='/constructor/true'>true</a> videos:flags.4?<a href='/constructor/true'>true</a> user_id:<a href='/type/InputUser'>InputUser</a> title:<a href='/type/string'>string</a> short_name:<a href='/type/string'>string</a> thumb:flags.2?<a href='/type/InputDocument'>InputDocument</a> stickers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputStickerSetItem'>InputStickerSetItem</a>&gt; software:flags.3?<a href='/type/string'>string</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/method/stickers.addStickerToSet'>stickers.addStickerToSet</a>#8653febe stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> sticker:<a href='/type/InputStickerSetItem'>InputStickerSetItem</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/method/stickers.removeStickerFromSet'>stickers.removeStickerFromSet</a>#f7760f51 sticker:<a href='/type/InputDocument'>InputDocument</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/method/stickers.changeStickerPosition'>stickers.changeStickerPosition</a>#ffb6d4ca sticker:<a href='/type/InputDocument'>InputDocument</a> position:<a href='/type/int'>int</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;
<a href='/method/stickers.setStickerSetThumb'>stickers.setStickerSetThumb</a>#9a364e30 stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> thumb:<a href='/type/InputDocument'>InputDocument</a> = <a href='/type/messages.StickerSet'>messages.StickerSet</a>;</code></pre>
<p>Bots and users can create stickersets by using the following methods.<br>
Users can also create stickersets by interacting with the official <a href="https://t.me/stickers">@stickers</a> bot.</p>
<p>Note that unofficial bots <strong>must</strong> append a <code>"_by_&lt;bot_username&gt;"</code> prefix to the stickerset short name when creating stickersets.</p>
<p>Use <a href="/method/messages.uploadMedia">messages.uploadMedia</a> to upload stickers and thumbnails, if you don't already have access to a previously uploaded <a href="/constructor/document">document</a>. </p>
<p>Use <a href="/method/stickers.checkShortName">stickers.checkShortName</a> to check if a given short name is available, and <a href="/method/stickers.suggestShortName">stickers.suggestShortName</a> to let the server suggest a short name, given the stickerset title.</p>
<p>Use <a href="/method/stickers.createStickerSet">stickers.createStickerSet</a> to create normal, <a href="#animated-stickers">animated</a>, <a href="#video-stickers">video</a> or <a href="/api/masks">mask</a> stickersets.<br>
<a href="/api/custom-emoji">Custom emoji</a> stickersets can only be created using the <a href="https://t.me/stickers">@stickers</a> bot for now. </p>
<p>Use <a href="/method/stickers.addStickerToSet">stickers.addStickerToSet</a> to add stickers to the stickerset.<br>
Use <a href="/method/stickers.addStickerToSet">stickers.setStickerSetThumb</a> to edit the stickerset thumbnail after creation.<br>
Use <a href="/method/stickers.removeStickerFromSet">stickers.removeStickerFromSet</a> to remove stickers from a stickerset, and <a href="/method/stickers.changeStickerPosition">stickers.changeStickerPosition</a> to move stickers in a stickerset (simply providing the sticker document is enough). </p>
<h3><a class="anchor" href="#searching-stickers" id="searching-stickers" name="searching-stickers"><i class="anchor-icon"></i></a>Searching stickers</h3>
<pre><code><a href='/constructor/messages.foundStickerSetsNotModified'>messages.foundStickerSetsNotModified</a>#d54b65d = <a href='/type/messages.FoundStickerSets'>messages.FoundStickerSets</a>;
<a href='/constructor/messages.foundStickerSets'>messages.foundStickerSets</a>#8af09dd2 hash:<a href='/type/long'>long</a> sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSetCovered'>StickerSetCovered</a>&gt; = <a href='/type/messages.FoundStickerSets'>messages.FoundStickerSets</a>;
---functions---
<a href='/method/messages.searchStickerSets'>messages.searchStickerSets</a>#35705b8a flags:<a href='/type/%23'>#</a> exclude_featured:flags.0?<a href='/constructor/true'>true</a> q:<a href='/type/string'>string</a> hash:<a href='/type/long'>long</a> = <a href='/type/messages.FoundStickerSets'>messages.FoundStickerSets</a>;</code></pre>
<p>You can use <a href="/method/messages.searchStickerSets">messages.searchStickerSets</a> to search globally available stickersets by name: note that this method returns a set of <a href="#stickerset-previews">stickerset previews »</a>.</p>
<h3><a class="anchor" href="#featured-stickers" id="featured-stickers" name="featured-stickers"><i class="anchor-icon"></i></a>Featured stickers</h3>
<pre><code><a href='/constructor/messages.featuredStickersNotModified'>messages.featuredStickersNotModified</a>#c6dc0c66 count:<a href='/type/int'>int</a> = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;
<a href='/constructor/messages.featuredStickers'>messages.featuredStickers</a>#be382906 flags:<a href='/type/%23'>#</a> premium:flags.0?<a href='/constructor/true'>true</a> hash:<a href='/type/long'>long</a> count:<a href='/type/int'>int</a> sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSetCovered'>StickerSetCovered</a>&gt; unread:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;
<a href='/constructor/updateReadFeaturedStickers'>updateReadFeaturedStickers</a>#571d2742 = <a href='/type/Update'>Update</a>;
<a href='/constructor/updateReadFeaturedEmojiStickers'>updateReadFeaturedEmojiStickers</a>#fb4c496c = <a href='/type/Update'>Update</a>;
---functions---
<a href='/method/messages.getFeaturedStickers'>messages.getFeaturedStickers</a>#64780b14 hash:<a href='/type/long'>long</a> = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;
<a href='/method/messages.readFeaturedStickers'>messages.readFeaturedStickers</a>#5b118126 id:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/long'>long</a>&gt; = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.getOldFeaturedStickers'>messages.getOldFeaturedStickers</a>#7ed094a1 offset:<a href='/type/int'>int</a> limit:<a href='/type/int'>int</a> hash:<a href='/type/long'>long</a> = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;
<a href='/method/messages.getFeaturedEmojiStickers'>messages.getFeaturedEmojiStickers</a>#ecf6736 hash:<a href='/type/long'>long</a> = <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>;</code></pre>
<p>Telegram showcases a set of featured stickers: they can be fetched using <a href="/method/messages.getFeaturedStickers">messages.getFeaturedStickers</a> or <a href="/method/messages.getFeaturedEmojiStickers">messages.getFeaturedEmojiStickers</a>, for <a href="/api/custom-emoji">custom emojis</a>. </p>
<p>Clients should preload featured stickers on startup according to the value of the <code>preload_featured_stickers</code> <a href="/constructor/config">configuration parameter</a>. </p>
<p>The method also returns a set of unread <a href="/constructor/stickerSet">stickerSet</a> IDs in the <code>unread</code> field: use <a href="/method/messages.readFeaturedStickers">messages.readFeaturedStickers</a> to mark them as read: note that this will only affect the <code>unread</code> field, all stickersets will still be returned, unless you also <a href="/api/offsets#hash-generation">generate a <code>hash</code></a>.<br>
This method will also emit an <a href="/constructor/updateReadFeaturedStickers">updateReadFeaturedStickers</a> or <a href="/constructor/updateReadFeaturedEmojiStickers">updateReadFeaturedEmojiStickers</a> update on all other logged-in sessions. </p>
<p><a href="/method/messages.getOldFeaturedStickers">messages.getOldFeaturedStickers</a> can be used to fetch an extended list with even more featured stickersets, that were previously featured in the short list returned by <a href="/method/messages.getFeaturedStickers">messages.getFeaturedStickers</a>. </p>
<h3><a class="anchor" href="#favorite-stickers" id="favorite-stickers" name="favorite-stickers"><i class="anchor-icon"></i></a>Favorite stickers</h3>
<pre><code><a href='/constructor/messages.favedStickersNotModified'>messages.favedStickersNotModified</a>#9e8fa6d3 = <a href='/type/messages.FavedStickers'>messages.FavedStickers</a>;
<a href='/constructor/messages.favedStickers'>messages.favedStickers</a>#2cb51097 hash:<a href='/type/long'>long</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; stickers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/messages.FavedStickers'>messages.FavedStickers</a>;
<a href='/constructor/updateFavedStickers'>updateFavedStickers</a>#e511996d = <a href='/type/Update'>Update</a>;
---functions---
<a href='/method/messages.faveSticker'>messages.faveSticker</a>#b9ffc55b id:<a href='/type/InputDocument'>InputDocument</a> unfave:<a href='/type/Bool'>Bool</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.getFavedStickers'>messages.getFavedStickers</a>#4f1aaa9 hash:<a href='/type/long'>long</a> = <a href='/type/messages.FavedStickers'>messages.FavedStickers</a>;</code></pre>
<p>A stickerset can be faved or unfaved using <a href="/method/messages.faveSticker">messages.faveSticker</a>.</p>
<p>Favorited stickers can be fetched using <a href="/method/messages.getFavedStickers">messages.getFavedStickers</a>: note that this method returns a set of <a href="#stickerset-previews">stickerset previews »</a>.</p>
<p>Users can fave only a certain number of stickersets, as specified by the following <a href="/api/config#client-configuration">configuration</a> parameters:</p>
<ul>
<li>Premium users can fave a total of <code>stickers_faved_limit_premium</code> stickersets. </li>
<li>Non-Premium users can fave a total of <code>stickers_faved_limit_default</code> stickersets. </li>
</ul>
<p>An <a href="/constructor/updateFavedStickers">updateFavedStickers</a> update will be emitted to the other logged-in sessions when faving or unfaving stickersets.<br>
This update should trigger a call to <a href="/method/messages.getFavedStickers">messages.getFavedStickers</a>. </p>
<h3><a class="anchor" href="#recent-stickers" id="recent-stickers" name="recent-stickers"><i class="anchor-icon"></i></a>Recent stickers</h3>
<pre><code><a href='/constructor/messages.recentStickersNotModified'>messages.recentStickersNotModified</a>#b17f890 = <a href='/type/messages.RecentStickers'>messages.RecentStickers</a>;
<a href='/constructor/messages.recentStickers'>messages.recentStickers</a>#88d37c56 hash:<a href='/type/long'>long</a> packs:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerPack'>StickerPack</a>&gt; stickers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; dates:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/int'>int</a>&gt; = <a href='/type/messages.RecentStickers'>messages.RecentStickers</a>;
<a href='/constructor/updateRecentStickers'>updateRecentStickers</a>#9a422c20 = <a href='/type/Update'>Update</a>;
---functions---
<a href='/method/messages.saveRecentSticker'>messages.saveRecentSticker</a>#392718f8 flags:<a href='/type/%23'>#</a> attached:flags.0?<a href='/constructor/true'>true</a> id:<a href='/type/InputDocument'>InputDocument</a> unsave:<a href='/type/Bool'>Bool</a> = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.getRecentStickers'>messages.getRecentStickers</a>#9da9403b flags:<a href='/type/%23'>#</a> attached:flags.0?<a href='/constructor/true'>true</a> hash:<a href='/type/long'>long</a> = <a href='/type/messages.RecentStickers'>messages.RecentStickers</a>;
<a href='/method/messages.clearRecentStickers'>messages.clearRecentStickers</a>#8999602d flags:<a href='/type/%23'>#</a> attached:flags.0?<a href='/constructor/true'>true</a> = <a href='/type/Bool'>Bool</a>;</code></pre>
<p>After using a sticker in a message, clients should invoke <a href="/method/messages.saveRecentSticker">messages.saveRecentSticker</a> (normal and <a href="/api/masks">mask</a> stickers only, mask stickers should set the <code>attached</code> flag). </p>
<p>A sticker can be then removed from the recent stickers list using <a href="/method/messages.saveRecentSticker">messages.saveRecentSticker</a> with <code>unsave=true</code>; the entire list can be cleared using <a href="/method/messages.clearRecentStickers">messages.clearRecentStickers</a>. </p>
<p>Use <a href="/method/messages.getRecentStickers">messages.getRecentStickers</a> to fetch the recent stickers list.</p>
<p>Users can add only a certain number of recent stickers, according to the value of the <code>stickers_recent_limit</code> <a href="/constructor/config">configuration parameter</a>. </p>
<p>An <a href="/constructor/updateRecentStickers">updateRecentStickers</a> update will be emitted to the other logged-in sessions when modifying the recent stickerset list.<br>
This update should trigger a call to <a href="/method/messages.getRecentStickers">messages.getRecentStickers</a>. </p>
<h3><a class="anchor" href="#sticker-suggestions" id="sticker-suggestions" name="sticker-suggestions"><i class="anchor-icon"></i></a>Sticker suggestions</h3>
<pre><code><a href='/constructor/messages.stickersNotModified'>messages.stickersNotModified</a>#f1749a22 = <a href='/type/messages.Stickers'>messages.Stickers</a>;
<a href='/constructor/messages.stickers'>messages.stickers</a>#30a6ec7e hash:<a href='/type/long'>long</a> stickers:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/Document'>Document</a>&gt; = <a href='/type/messages.Stickers'>messages.Stickers</a>;
---functions---
<a href='/method/messages.getStickers'>messages.getStickers</a>#d5a5d3a1 emoticon:<a href='/type/string'>string</a> hash:<a href='/type/long'>long</a> = <a href='/type/messages.Stickers'>messages.Stickers</a>;</code></pre>
<p>Clients should show a popup with a list of suggested stickers and <a href="/api/custom-emoji">custom emojis</a> when the user enters an emoji in the text bar. </p>
<p>If the <code>stickers_emoji_suggest_only_api</code> <a href="/api/config#client-configuration">app configuration parameter</a> is set to true, clients must invoke <a href="/method/messages.getStickers">messages.getStickers</a> to fetch a list of suggested stickers for the emoji.<br>
The <code>stickers_emoji_cache_time</code> specifies the validity period of the local cache of messages.getStickers, also relevant when generating the pagination hash when invoking the method. </p>
<p>Otherwise, the following local logic should be used. </p>
<ul>
<li>Construct two lists of recently used stickers, matching the emoji:<ul>
<li>List <strong>a</strong>) Contains all non-Premium stickers.</li>
<li>List <strong>b</strong>) Contains all Premium stickers. </li>
</ul>
</li>
<li>The final suggested sticker list <strong>c</strong> is composed as follows:<ul>
<li>If the user doesn't have a Premium subscription: all stickers from <strong>a</strong>, followed by <code>stickers_premium_by_emoji_num</code> stickers from <strong>b</strong>.</li>
<li>If the user has a Premium subscription: <code>stickers_normal_by_emoji_per_premium_num</code> stickers from <strong>a</strong>, followed by 1 sticker from <strong>b</strong>, and so on until both lists are empty.</li>
</ul>
</li>
</ul>
<h3><a class="anchor" href="#archived-stickers" id="archived-stickers" name="archived-stickers"><i class="anchor-icon"></i></a>Archived stickers</h3>
<pre><code><a href='/constructor/messages.archivedStickers'>messages.archivedStickers</a>#4fcba9c8 count:<a href='/type/int'>int</a> sets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/StickerSetCovered'>StickerSetCovered</a>&gt; = <a href='/type/messages.ArchivedStickers'>messages.ArchivedStickers</a>;
<a href='/constructor/updateStickerSets'>updateStickerSets</a>#43ae3dec = <a href='/type/Update'>Update</a>;
---functions---
<a href='/method/messages.installStickerSet'>messages.installStickerSet</a>#c78fe460 stickerset:<a href='/type/InputStickerSet'>InputStickerSet</a> archived:<a href='/type/Bool'>Bool</a> = <a href='/type/messages.StickerSetInstallResult'>messages.StickerSetInstallResult</a>;
<a href='/method/messages.toggleStickerSets'>messages.toggleStickerSets</a>#b5052fea flags:<a href='/type/%23'>#</a> uninstall:flags.0?<a href='/constructor/true'>true</a> archive:flags.1?<a href='/constructor/true'>true</a> unarchive:flags.2?<a href='/constructor/true'>true</a> stickersets:<a href='/type/Vector%20t'>Vector</a>&lt;<a href='/type/InputStickerSet'>InputStickerSet</a>&gt; = <a href='/type/Bool'>Bool</a>;
<a href='/method/messages.getArchivedStickers'>messages.getArchivedStickers</a>#57f17692 flags:<a href='/type/%23'>#</a> masks:flags.0?<a href='/constructor/true'>true</a> emojis:flags.1?<a href='/constructor/true'>true</a> offset_id:<a href='/type/long'>long</a> limit:<a href='/type/int'>int</a> = <a href='/type/messages.ArchivedStickers'>messages.ArchivedStickers</a>;</code></pre>
<p>One or more stickersets can be archived (or unarchived) using <a href="/method/messages.installStickerSet">messages.installStickerSet</a> with <code>archived=true|false</code>, or <a href="/method/messages.toggleStickerSets">messages.toggleStickerSets</a> with either the <code>archive</code> or <code>unarchive</code> flag. </p>
<p>An unused stickerset may also be automatically archived when <a href="#installing-stickers">installing new stickersets</a>.</p>
<p>Archived stickers are not returned by <a href="/method/messages.getAllStickers">messages.getAllStickers</a> and can only be fetched using <a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a>: note that this method returns a set of <a href="#stickerset-previews">stickerset previews »</a>.</p>
<p>An <a href="/constructor/updateStickerSets">updateStickerSets</a> update will be emitted to the other logged-in sessions when archiving or unarchiving stickersets.<br>
This update should trigger a call to <a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/api">API</a></li>
<li><a href="//translations.telegram.org/">Translations</a></li>
<li><a href="//instantview.telegram.org/">Instant View</a></li>
</ul>
</div>
</div>
<div class="footer_columns_wrap footer_mobile">
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/blog">Blog</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps">Apps</a></h5>
</div>
<div class="footer_column">
<h5><a href="//core.telegram.org/">Platform</a></h5>
</div>
<div class="footer_column">
<h5><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)">Twitter</a></h5>
</div>
</div>
</div>
</div>
<script src="/js/main.js?46"></script>
<script src="/js/jquery.min.js?1"></script>
<script src="/js/bootstrap.min.js?1"></script>
<script>window.initDevPageNav&&initDevPageNav();
backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1055,6 +1055,121 @@
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-stickers-" id="working-with-stickers-" name="working-with-stickers-"><i class="anchor-icon"></i></a>Working with <a href="/api/stickers">stickers »</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getOldFeaturedStickers">messages.getOldFeaturedStickers</a></td>
<td>Method for fetching previously featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.toggleStickerSets">messages.toggleStickerSets</a></td>
<td>Apply changes to multiple stickersets</td>
</tr>
<tr>
<td><a href="/method/stickers.suggestShortName">stickers.suggestShortName</a></td>
<td>Suggests a short name for a given stickerpack name</td>
</tr>
<tr>
<td><a href="/method/stickers.checkShortName">stickers.checkShortName</a></td>
<td>Check whether the given short name is available</td>
</tr>
<tr>
<td><a href="/method/stickers.setStickerSetThumb">stickers.setStickerSetThumb</a></td>
<td>Set stickerset thumbnail</td>
</tr>
<tr>
<td><a href="/method/stickers.addStickerToSet">stickers.addStickerToSet</a></td>
<td>Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/stickers.changeStickerPosition">stickers.changeStickerPosition</a></td>
<td>Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot</td>
</tr>
<tr>
<td><a href="/method/stickers.createStickerSet">stickers.createStickerSet</a></td>
<td>Create a stickerset, bots only.</td>
</tr>
<tr>
<td><a href="/method/stickers.removeStickerFromSet">stickers.removeStickerFromSet</a></td>
<td>Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/messages.clearRecentStickers">messages.clearRecentStickers</a></td>
<td>Clear recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.faveSticker">messages.faveSticker</a></td>
<td>Mark or unmark a sticker as favorite</td>
</tr>
<tr>
<td><a href="/method/messages.getAllStickers">messages.getAllStickers</a></td>
<td>Get all installed stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a></td>
<td>Get all archived stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getAttachedStickers">messages.getAttachedStickers</a></td>
<td>Get stickers attached to a photo or video</td>
</tr>
<tr>
<td><a href="/method/messages.getFavedStickers">messages.getFavedStickers</a></td>
<td>Get faved stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getFeaturedStickers">messages.getFeaturedStickers</a></td>
<td>Get featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getMaskStickers">messages.getMaskStickers</a></td>
<td>Get installed mask stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getRecentStickers">messages.getRecentStickers</a></td>
<td>Get recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getStickerSet">messages.getStickerSet</a></td>
<td>Get info about a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.getStickers">messages.getStickers</a></td>
<td>Get stickers by emoji</td>
</tr>
<tr>
<td><a href="/method/messages.saveRecentSticker">messages.saveRecentSticker</a></td>
<td>Add/remove sticker from recent stickers list</td>
</tr>
<tr>
<td><a href="/method/messages.installStickerSet">messages.installStickerSet</a></td>
<td>Install a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.readFeaturedStickers">messages.readFeaturedStickers</a></td>
<td>Mark new featured stickers as read</td>
</tr>
<tr>
<td><a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a></td>
<td>Reorder installed stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.searchStickerSets">messages.searchStickerSets</a></td>
<td>Search for stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.uninstallStickerSet">messages.uninstallStickerSet</a></td>
<td>Uninstall a stickerset</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-telegram-passport" id="working-with-telegram-passport" name="working-with-telegram-passport"><i class="anchor-icon"></i></a>Working with <a href="/passport">telegram passport</a></h3>
<table class="table">
<thead>
@ -2219,121 +2334,6 @@
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-stickers" id="working-with-stickers" name="working-with-stickers"><i class="anchor-icon"></i></a>Working with stickers</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getOldFeaturedStickers">messages.getOldFeaturedStickers</a></td>
<td>Method for fetching previously featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.toggleStickerSets">messages.toggleStickerSets</a></td>
<td>Apply changes to multiple stickersets</td>
</tr>
<tr>
<td><a href="/method/stickers.suggestShortName">stickers.suggestShortName</a></td>
<td>Suggests a short name for a given stickerpack name</td>
</tr>
<tr>
<td><a href="/method/stickers.checkShortName">stickers.checkShortName</a></td>
<td>Check whether the given short name is available</td>
</tr>
<tr>
<td><a href="/method/stickers.setStickerSetThumb">stickers.setStickerSetThumb</a></td>
<td>Set stickerset thumbnail</td>
</tr>
<tr>
<td><a href="/method/stickers.addStickerToSet">stickers.addStickerToSet</a></td>
<td>Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/stickers.changeStickerPosition">stickers.changeStickerPosition</a></td>
<td>Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot</td>
</tr>
<tr>
<td><a href="/method/stickers.createStickerSet">stickers.createStickerSet</a></td>
<td>Create a stickerset, bots only.</td>
</tr>
<tr>
<td><a href="/method/stickers.removeStickerFromSet">stickers.removeStickerFromSet</a></td>
<td>Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/messages.clearRecentStickers">messages.clearRecentStickers</a></td>
<td>Clear recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.faveSticker">messages.faveSticker</a></td>
<td>Mark or unmark a sticker as favorite</td>
</tr>
<tr>
<td><a href="/method/messages.getAllStickers">messages.getAllStickers</a></td>
<td>Get all installed stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a></td>
<td>Get all archived stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getAttachedStickers">messages.getAttachedStickers</a></td>
<td>Get stickers attached to a photo or video</td>
</tr>
<tr>
<td><a href="/method/messages.getFavedStickers">messages.getFavedStickers</a></td>
<td>Get faved stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getFeaturedStickers">messages.getFeaturedStickers</a></td>
<td>Get featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getMaskStickers">messages.getMaskStickers</a></td>
<td>Get installed mask stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getRecentStickers">messages.getRecentStickers</a></td>
<td>Get recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getStickerSet">messages.getStickerSet</a></td>
<td>Get info about a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.getStickers">messages.getStickers</a></td>
<td>Get stickers by emoji</td>
</tr>
<tr>
<td><a href="/method/messages.saveRecentSticker">messages.saveRecentSticker</a></td>
<td>Add/remove sticker from recent stickers list</td>
</tr>
<tr>
<td><a href="/method/messages.installStickerSet">messages.installStickerSet</a></td>
<td>Install a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.readFeaturedStickers">messages.readFeaturedStickers</a></td>
<td>Mark new featured stickers as read</td>
</tr>
<tr>
<td><a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a></td>
<td>Reorder installed stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.searchStickerSets">messages.searchStickerSets</a></td>
<td>Search for stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.uninstallStickerSet">messages.uninstallStickerSet</a></td>
<td>Uninstall a stickerset</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-the-attachment-menu--of-web-app-bots-" id="working-with-the-attachment-menu--of-web-app-bots-" name="working-with-the-attachment-menu--of-web-app-bots-"><i class="anchor-icon"></i></a>Working with the <a href="/bots/webapps#launching-web-apps-from-the-attachment-menu">attachment menu »</a> of <a href="/bots/webapps">web app bots »</a></h3>
<table class="table">
<thead>