Update content of files

This commit is contained in:
GitHub Action 2024-07-31 16:35:16 +00:00
parent c9583e020c
commit 58865d2581
10 changed files with 679 additions and 231 deletions

View file

@ -65,7 +65,7 @@
</ul>
</li>
<li><a href="#integration"><strong>Integration</strong></a><ul>
<li><a href="#web-apps">Web Apps</a></li>
<li><a href="#mini-apps">Mini Apps</a></li>
<li><a href="#bots-for-business">Bots for Business</a></li>
<li><a href="#payments">Payments</a></li>
<li><a href="#web-login">Web Login</a></li>
@ -245,10 +245,11 @@ width=44% /></a>
<li>Create gaming bots by integrating <a href="#html5-games">HTML5 Games</a>.</li>
<li>Help users create and manage <a href="#stickers-and-custom-emoji">Telegram Stickers</a>.</li>
</ul>
<h3><a class="anchor" name="web-apps" href="#web-apps"><i class="anchor-icon"></i></a>Web Apps</h3>
<p>Bots can easily process <strong>complex inputs</strong> of any kind and <strong>dynamic interaction flows</strong> via <a href="webapps">Web Apps</a>. With this unique feature, you can develop any number of flexible, streamlined interfaces in <strong>JavaScript</strong>.</p>
<h3><a class="anchor" name="mini-apps" href="#mini-apps"><i class="anchor-icon"></i></a>Mini Apps</h3>
<p><a href="webapps">Mini Apps</a> allow developers to create infinitely flexible interfaces that can be launched right inside Telegram integrating seamlessly with the app and replacing <strong>any website</strong>.</p>
<p>If your bot is a mini app, you can add a prominent <strong>Launch app</strong> button as well as demo videos and screenshots to the bots profile. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set your mini app as your bot&#39;s <a href="webapps#launching-the-main-mini-app">Main App</a>.</p>
<blockquote>
<p>Web Apps are covered in detail in our <a href="webapps">dedicated guide</a> you should read it carefully to learn the wide variety of features they can offer.</p>
<p>Mini apps are covered in detail in our <a href="webapps">dedicated guide</a> you should read it carefully to learn the wide variety of features they can offer.</p>
</blockquote>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/464001434/100bf/eWprjdgzEbE.100386/644bbea83084f44c8f" style="max-width: 400px;" title="Attachment Menu" alt="Video: Bot Attachment Menu">
@ -256,8 +257,34 @@ width=44% /></a>
</video>
</div>
<p>If you develop a <strong>Web App</strong>, be sure to follow our <a href="webapps#design-guidelines">design guidelines</a> you&#39;ll want your custom interface to <strong>seamlessly integrate</strong> into the app to provide users the best possible experience.</p>
<h4><a class="anchor" name="bots-for-business" href="#bots-for-business"><i class="anchor-icon"></i></a>Bots for Business</h4>
<p>If you develop a <strong>mini app</strong>, be sure to follow our <a href="webapps#design-guidelines">design guidelines</a> you&#39;ll want your custom interface to <strong>seamlessly integrate</strong> into the app to provide users the best possible experience.</p>
<h4><a class="anchor" name="seamless-integration-with-telegram" href="#seamless-integration-with-telegram"><i class="anchor-icon"></i></a>Seamless Integration With Telegram</h4>
<p>Mini apps integrate <strong>seamlessly</strong> with Telegram from receiving detailed <a href="webapps#themeparams">theme settings</a> to using native dialogs for reading <a href="webapps#initializing-mini-apps">QR codes</a>, controlling <a href="webapps#biometricmanager">biometrics</a>, sharing media <a href="webapps#initializing-mini-apps">directly to stories</a> and more.</p>
<p>When opened from a <a href="webapps#direct-link-mini-apps">direct link</a> in a group, mini apps can also use the <code>chat_instance</code> parameter to track of the current context, supporting <strong>shared usage</strong> by multiple chat members to create live whiteboards, group orders, multiplayer games and much more.</p>
<h4><a class="anchor" name="sharing-from-mini-apps-to-stories" href="#sharing-from-mini-apps-to-stories"><i class="anchor-icon"></i></a>Sharing from Mini Apps to Stories</h4>
<p>Any media created by the mini app, like whiteboard snapshots, leaderboards and AI-generated videos can be opened with the native story editor via the <a href="webapps#initializing-mini-apps">shareToStory</a> method for users to share as a <a href="https://telegram.org/tour/stories">Telegram Story</a> right from the mini app. </p>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/400780400371/4/l5lIymX0jZo.24285/0fe2981522348dce64" style="max-width: 400px;" title="Sharing Stories" alt="Sharing Stories">
<source src="/file/400780400676/1/yDZoLCZ9bKQ.3403169.mp4/6e2b8eca9d3a23cc64" type="video/mp4">
</video>
</div>
<blockquote>
<p>Mini apps also receive a number of <strong>events</strong>, allowing them to <strong>instantly react</strong> to actions by the user. You can learn more about which events are available <a href="webapps#events-available-for-mini-apps">here</a>.</p>
</blockquote>
<h4><a class="anchor" name="mini-app-store" href="#mini-app-store"><i class="anchor-icon"></i></a>Mini App Store</h4>
<p>More than <strong>500 million</strong> out of Telegram&#39;s <a href="https://t.me/durov/337">950</a> million users interact with mini apps every month. Succesful mini apps have the chance to be <strong>highlighted</strong> in the Telegram Mini App Store appearing for all users in the <em>&#39;Apps&#39;</em> tab of Search.</p>
<p>Featured mini apps are chosen based on how they <strong>enrich the Telegram ecosystem</strong>. To increase the chances of being featured, you must <strong>enable</strong> the <a href="https://core.telegram.org/bots/webapps#launching-the-main-mini-app">Main Mini App</a> in <a href="https://t.me/botfather">@BotFather</a>, <strong>upload</strong> high-quality media demos showcasing your app to your bot&#39;s profile and <strong>accept payments</strong> in <a href="https://telegram.org/blog/telegram-stars">Telegram Stars</a>.</p>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/400780400572/1/KDOL4LVn0qU.46714/87e3de3384c284a00d" style="max-width: 400px;" title="Mini App Store" alt="Mini App Store">
<source src="/file/400780400928/1/bb7CeIf11Es.6604686.mp4/ea45ba121b84766f1d" type="video/mp4">
</video>
</div>
<blockquote>
<p>Check out our documentation to learn more about <a href="https://core.telegram.org/bots/webapps#launching-the-main-mini-app">enabling Main Mini Apps</a> and <a href="https://core.telegram.org/bots/payments-stars">accepting payments</a> in Stars.</p>
</blockquote>
<h3><a class="anchor" name="bots-for-business" href="#bots-for-business"><i class="anchor-icon"></i></a>Bots for Business</h3>
<p>Bots can enable <strong>Business Mode</strong>, allowing <a href="https://telegram.org/blog/telegram-business">Telegram Business</a> subscribers to connect them to their account to streamline and automate private chat management and interactions with their clients.</p>
<p>The <strong>account owner</strong> can specify which chats your bot can access within those chats, the bot will receive all updates normally supported by the <a href="https://core.telegram.org/bots/api">Bot API</a>, except messages sent by itself and other bots. Depending on the business connection settings, your bot may also be able to <strong>send messages</strong> and do other actions on behalf of the account owner in chats that were active in the last 24h.</p>
<p>Here is a quick start guide to integrate your bot with Telegram Business:</p>

View file

@ -57,6 +57,12 @@
</blockquote>
<hr>
<h3><a class="anchor" name="recent-changes" href="#recent-changes"><i class="anchor-icon"></i></a>Recent changes</h3>
<h4><a class="anchor" name="july-31-2024" href="#july-31-2024"><i class="anchor-icon"></i></a>July 31, 2024</h4>
<p><strong>Bot API 7.8</strong></p>
<ul>
<li>Added the option for bots to set a <a href="#launching-the-main-mini-app">Main Mini App</a>, which can be previewed and launched directly from a button in the bot&#39;s profile or a link.</li>
<li>Added the method <em>shareToStory</em> to the class <a href="#initializing-mini-apps">WebApp</a>.</li>
</ul>
<h4><a class="anchor" name="july-7-2024" href="#july-7-2024"><i class="anchor-icon"></i></a>July 7, 2024</h4>
<p><strong>Bot API 7.7</strong></p>
<ul>
@ -144,7 +150,7 @@
</ul>
<hr>
<h3><a class="anchor" name="implementing-mini-apps" href="#implementing-mini-apps"><i class="anchor-icon"></i></a>Implementing Mini Apps</h3>
<p>Telegram currently supports six different ways of launching Mini Apps: from a <a href="#keyboard-button-mini-apps">keyboard button</a>, from an <a href="#inline-button-mini-apps">inline button</a>, from the <a href="#launching-mini-apps-from-the-menu-button">bot menu button</a>, via <a href="#inline-mode-mini-apps">inline mode</a>, from a <a href="#direct-link-mini-apps">direct link</a> and even from the <a href="#launching-mini-apps-from-the-attachment-menu">attachment menu</a>.</p>
<p>Telegram currently supports seven different ways of launching Mini Apps: the main Mini App from a <a href="#launching-the-main-mini-app">profile button</a>, from a <a href="#keyboard-button-mini-apps">keyboard button</a>, from an <a href="#inline-button-mini-apps">inline button</a>, from the <a href="#launching-mini-apps-from-the-menu-button">bot menu button</a>, via <a href="#inline-mode-mini-apps">inline mode</a>, from a <a href="#direct-link-mini-apps">direct link</a> and even from the <a href="#launching-mini-apps-from-the-attachment-menu">attachment menu</a>.</p>
<div>
<a href="/file/464001388/10b1a/IYpn0wWfggw.1156850/fd9a32baa81dcecbe4" target="_blank"><img src="/file/464001388/10b1a/IYpn0wWfggw.1156850/fd9a32baa81dcecbe4" title="" alt="Types of buttons" class="dev_page_image" /></a>
</div>
@ -194,6 +200,29 @@
<blockquote>
<p><a href="https://t.me/durgerkingbot">@DurgerKingBot</a> allows launching its Mini App both from an inline button and from the menu button.</p>
</blockquote>
<h4><a class="anchor" name="launching-the-main-mini-app" href="#launching-the-main-mini-app"><i class="anchor-icon"></i></a>Launching the main Mini App</h4>
<blockquote>
<p><strong>TL;DR:</strong> If your bot is a mini app, you can add a prominent <strong>Launch app</strong> button as well as high-quality demo videos and screenshots to the bots profile. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set the mini app as your bot&#39;s main app.</p>
</blockquote>
<p>If your bot is a mini app, you can unlock a number of features that streamline and simplify the way in which users view and interact with it. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set the mini app as your bot&#39;s <strong>Main App</strong>.</p>
<p>After setting a main mini app, you&#39;ll be able to upload detailed <strong>media preview demos</strong> to publicly highlight your app&#39;s key features on its profile. A <strong>Launch app</strong> button will also appear, allowing users to open your app directly from its profile.</p>
<blockquote>
<p>Bots that enabled a main mini app will be displayed in the <em>Apps</em> tab of the search for users who have launched them.</p>
</blockquote>
<p>A bot&#39;s <strong>main Mini App</strong> can also be opened in the current chat by direct link in the format <code>https://t.me/botusername?startapp</code>. If a non-empty <em>startapp</em> parameter is included in the link, it will be passed to the Mini App in the <em>start_param</em> field and in the GET parameter <em>tgWebAppStartParam</em>. </p>
<p><strong>Examples</strong></p>
<p><code>https://t.me/botusername?startapp</code><br><code>https://t.me/botusername?startapp=command</code><br><code>https://t.me/botusername?startapp=command&amp;mode=compact</code></p>
<p>In this mode, Mini Apps can use the <em>chat_type</em> and <em>chat_instance</em> parameters to keep track of the current chat context. This introduces support for <strong>concurrent</strong> and <strong>shared</strong> usage by multiple chat members to create live whiteboards, group orders, multiplayer games and similar apps.</p>
<p>By default, the main Mini App opens to full-screen height, and users cannot reduce them to half-height. However, you can change this behavior via <a href="https://t.me/botfather">@BotFather</a> or by including the parameter <code>mode=compact</code> in the link to the Mini App, in which case it will open to half-screen height by default.</p>
<p><strong>Good for:</strong></p>
<ul>
<li>Fully-fledged web services and integrations that any user can open in one tap.</li>
<li>Cooperative, multiplayer or teamwork-oriented services within a chat context.</li>
<li>The use cases are effectively <strong>unlimited</strong>.</li>
</ul>
<blockquote>
<p>Successful bots which <strong>enable</strong> a main Mini App and <strong>accept payments</strong> in <a href="https://core.telegram.org/bots/payments-stars">Telegram Stars</a> may be featured in the Telegram <a href="https://t.me/BotNews/99">Mini App Store</a>. To increase the chances of being featured, we recommend uploading high-quality media showcasing your app on your bot&#39;s profile and following our <a href="#design-guidelines">design guidelines</a>.</p>
</blockquote>
<h4><a class="anchor" name="inline-mode-mini-apps" href="#inline-mode-mini-apps"><i class="anchor-icon"></i></a>Inline Mode Mini Apps</h4>
<blockquote>
<p><strong>TL;DR:</strong> Mini Apps launched via <strong>web_app</strong> type <a href="/bots/api#inlinequeryresultsbutton">InlineQueryResultsButton</a> can be used anywhere in inline mode. Users can create content in a web interface and then seamlessly send it to the current chat via inline mode.</p>
@ -413,6 +442,11 @@
<td><mark>Bot API 6.1+</mark> A method that opens an invoice using the link <em>url</em>. The Mini App will receive the <a href="#events-available-for-mini-apps">event</a> <em>invoiceClosed</em> when the invoice is closed. If an optional <em>callback</em> parameter was passed, the <em>callback</em> function will be called and the invoice status will be passed as the first argument.</td>
</tr>
<tr>
<td>shareToStory(media_url[, params])</td>
<td>Function</td>
<td><mark>Bot API 7.8+</mark> A method that opens the native story editor with the media specified in the <em>media_url</em> parameter as an HTTPS URL. An optional <em>params</em> argument of the type <a href="#storyshareparams">StoryShareParams</a> describes additional sharing settings.</td>
</tr>
<tr>
<td>showPopup(params[, callback])</td>
<td>Function</td>
<td><mark>Bot API 6.2+</mark> A method that shows a native popup described by the <em>params</em> argument of the type <a href="#popupparams">PopupParams</a>. The Mini App will receive the <a href="#events-available-for-mini-apps">event</a> <em>popupClosed</em> when the popup is closed. If an optional <em>callback</em> parameter was passed, the <em>callback</em> function will be called and the field <em>id</em> of the pressed button will be passed as the first argument.</td>
@ -557,6 +591,70 @@
</div>
<h4><a class="anchor" name="storyshareparams" href="#storyshareparams"><i class="anchor-icon"></i></a>StoryShareParams</h4>
<p>This object describes additional sharing settings for the native story editor.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The caption to be added to the media, 0-200 characters for regular users and 0-2048 characters for <a href="https://telegram.org/faq_premium#telegram-premium">premium</a> subscribers.</td>
</tr>
<tr>
<td>widget_link</td>
<td><a href="#storywidgetlink">StoryWidgetLink</a></td>
<td><em>Optional</em>. An object that describes a widget link to be included in the story. Note that only <a href="https://telegram.org/faq_premium#telegram-premium">premium</a> subscribers can post stories with links.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="storywidgetlink" href="#storywidgetlink"><i class="anchor-icon"></i></a>StoryWidgetLink</h4>
<p>This object describes a widget link to be included in the story.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>String</td>
<td>The URL to be included in the story.</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td><em>Optional</em>. The name to be displayed for the widget link, 0-48 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="scanqrpopupparams" href="#scanqrpopupparams"><i class="anchor-icon"></i></a>ScanQrPopupParams</h4>
<p>This object describes the native popup for scanning QR codes.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The text to be displayed under the &#39;Scan QR&#39; heading, 0-64 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="popupparams" href="#popupparams"><i class="anchor-icon"></i></a>PopupParams</h4>
<p>This object describes the native popup.</p>
<table class="table">
@ -585,24 +683,6 @@
</tr>
</tbody>
</table>
<h4><a class="anchor" name="scanqrpopupparams" href="#scanqrpopupparams"><i class="anchor-icon"></i></a>ScanQrPopupParams</h4>
<p>This object describes the native popup for scanning QR codes.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The text to be displayed under the &#39;Scan QR&#39; heading, 0-64 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="popupbutton" href="#popupbutton"><i class="anchor-icon"></i></a>PopupButton</h4>
<p>This object describes the native popup button.</p>
<table class="table">

View file

@ -55,6 +55,14 @@ To learn how to create…">
<p>Subscribe to <a href="https://t.me/botnews">@BotNews</a> to be the first to know about the latest updates and join the discussion in <a href="https://t.me/bottalk">@BotTalk</a></p>
</blockquote>
<h3><a class="anchor" name="2024" href="#2024"><i class="anchor-icon"></i></a>2024</h3>
<h4><a class="anchor" name="july-31-2024" href="#july-31-2024"><i class="anchor-icon"></i></a>July 31, 2024</h4>
<p><strong>Bot API 7.8</strong></p>
<ul>
<li>Added the option for bots to set a <a href="/bots/webapps#launching-the-main-mini-app">Main Mini App</a>, which can be previewed and launched directly from a button in the bot&#39;s profile or a link.</li>
<li>Added the method <em>shareToStory</em> to the class <a href="/bots/webapps#initializing-mini-apps">WebApp</a>.</li>
<li>Added the field <em>has_main_web_app</em> to the class <a href="/bots/api#user">User</a>, which is returned in the response to <a href="/bots/api#getme">getMe</a>.</li>
<li>Added the parameter <em>business_connection_id</em> to the methods <a href="/bots/api#pinchatmessage">pinChatMessage</a> and <a href="/bots/api#unpinchatmessage">unpinChatMessage</a>, allowing bots to manage pinned messages on behalf of a business account.</li>
</ul>
<h4><a class="anchor" name="july-7-2024" href="#july-7-2024"><i class="anchor-icon"></i></a>July 7, 2024</h4>
<p><strong>Bot API 7.7</strong></p>
<ul>

View file

@ -53,6 +53,14 @@ To learn how to create…">
<blockquote>
<p>Subscribe to <a href="https://t.me/botnews">@BotNews</a> to be the first to know about the latest updates and join the discussion in <a href="https://t.me/bottalk">@BotTalk</a></p>
</blockquote>
<h4><a class="anchor" name="july-31-2024" href="#july-31-2024"><i class="anchor-icon"></i></a>July 31, 2024</h4>
<p><strong>Bot API 7.8</strong></p>
<ul>
<li>Added the option for bots to set a <a href="/bots/webapps#launching-the-main-mini-app">Main Mini App</a>, which can be previewed and launched directly from a button in the bot&#39;s profile or a link.</li>
<li>Added the method <em>shareToStory</em> to the class <a href="/bots/webapps#initializing-mini-apps">WebApp</a>.</li>
<li>Added the field <em>has_main_web_app</em> to the class <a href="#user">User</a>, which is returned in the response to <a href="#getme">getMe</a>.</li>
<li>Added the parameter <em>business_connection_id</em> to the methods <a href="#pinchatmessage">pinChatMessage</a> and <a href="#unpinchatmessage">unpinChatMessage</a>, allowing bots to manage pinned messages on behalf of a business account.</li>
</ul>
<h4><a class="anchor" name="july-7-2024" href="#july-7-2024"><i class="anchor-icon"></i></a>July 7, 2024</h4>
<p><strong>Bot API 7.7</strong></p>
<ul>
@ -100,22 +108,6 @@ To learn how to create…">
<li>Added support for “expandable_blockquote” entity parsing in “MarkdownV2” and “HTML” parse modes.</li>
<li>Allowed to explicitly specify “expandable_blockquote” entities in formatted texts.</li>
</ul>
<h4><a class="anchor" name="may-6-2024" href="#may-6-2024"><i class="anchor-icon"></i></a>May 6, 2024</h4>
<p><strong>Bot API 7.3</strong></p>
<ul>
<li>Added support for <a href="#inlinekeyboardmarkup">InlineKeyboardMarkup</a> with <em>url</em>, <em>login_url</em>, and <em>callback_game</em> buttons for messages sent on behalf of a business account.</li>
<li>Added the field <em>via_join_request</em> to the class <a href="#chatmemberupdated">ChatMemberUpdated</a>.</li>
<li>Added support for live locations that can be edited indefinitely, allowing 0x7FFFFFFF to be used as <em>live_period</em>.</li>
<li>Added the parameter <em>live_period</em> to the method <a href="#editmessagelivelocation">editMessageLiveLocation</a>.</li>
<li>Added the field <em>question_entities</em> to the class <a href="#poll">Poll</a>.</li>
<li>Added the field <em>text_entities</em> to the class <a href="#polloption">PollOption</a>.</li>
<li>Added the parameters <em>question_parse_mode</em> and <em>question_entities</em> to the method <a href="#sendpoll">sendPoll</a>.</li>
<li>Added the class <a href="#inputpolloption">InputPollOption</a> and changed the type of the parameter <em>options</em> in the method <a href="#sendpoll">sendPoll</a> to Array of <a href="#inputpolloption">InputPollOption</a>.</li>
<li>Added the classes <a href="#chatbackground">ChatBackground</a>, <a href="#backgroundtype">BackgroundType</a>, <a href="#backgroundfill">BackgroundFill</a> and the field <em>chat_background_set</em> of type <a href="#chatbackground">ChatBackground</a> to the class <a href="#message">Message</a>, describing service messages about background changes.</li>
<li>Split out the class <a href="#chatfullinfo">ChatFullInfo</a> from the class <a href="#chat">Chat</a> and changed the return type of the method <a href="#getchat">getChat</a> to <a href="#chatfullinfo">ChatFullInfo</a>.</li>
<li>Added the field <em>max_reaction_count</em> to the class <a href="#chatfullinfo">ChatFullInfo</a>.</li>
<li>Documented that .MP3 and .M4A files can be used as voice messages.</li>
</ul>
<p><strong><a href="/bots/api-changelog">See earlier changes »</a></strong></p>
<h3><a class="anchor" name="authorizing-your-bot" href="#authorizing-your-bot"><i class="anchor-icon"></i></a>Authorizing your bot</h3>
<p>Each bot is given a unique authentication token <a href="/bots/features#botfather">when it is created</a>. The token looks something like <code>123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11</code>, but we&#39;ll use simply <strong>&lt;token&gt;</strong> in this document instead. You can learn about obtaining tokens and generating new ones in <a href="/bots/features#botfather">this document</a>.</p>
@ -543,6 +535,11 @@ To learn how to create…">
<td>Boolean</td>
<td><em>Optional</em>. <em>True</em>, if the bot can be connected to a Telegram Business account to receive its messages. Returned only in <a href="#getme">getMe</a>.</td>
</tr>
<tr>
<td>has_main_web_app</td>
<td>Boolean</td>
<td><em>Optional</em>. <em>True</em>, if the bot has a main Web App. Returned only in <a href="#getme">getMe</a>.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="chat" href="#chat"><i class="anchor-icon"></i></a>Chat</h4>
@ -8541,6 +8538,12 @@ pre-formatted fixed-width code block written in the Python programming language
</thead>
<tbody>
<tr>
<td>business_connection_id</td>
<td>String</td>
<td>Optional</td>
<td>Unique identifier of the business connection on behalf of which the message will be pinned</td>
</tr>
<tr>
<td>chat_id</td>
<td>Integer or String</td>
<td>Yes</td>
@ -8573,6 +8576,12 @@ pre-formatted fixed-width code block written in the Python programming language
</thead>
<tbody>
<tr>
<td>business_connection_id</td>
<td>String</td>
<td>Optional</td>
<td>Unique identifier of the business connection on behalf of which the message will be unpinned</td>
</tr>
<tr>
<td>chat_id</td>
<td>Integer or String</td>
<td>Yes</td>
@ -8582,7 +8591,7 @@ pre-formatted fixed-width code block written in the Python programming language
<td>message_id</td>
<td>Integer</td>
<td>Optional</td>
<td>Identifier of a message to unpin. If not specified, the most recent pinned message (by sending date) will be unpinned.</td>
<td>Identifier of the message to unpin. Required if <em>business_connection_id</em> is specified. If not specified, the most recent pinned message (by sending date) will be unpinned.</td>
</tr>
</tbody>
</table>

View file

@ -65,7 +65,7 @@
</ul>
</li>
<li><a href="#integration"><strong>Integration</strong></a><ul>
<li><a href="#web-apps">Web Apps</a></li>
<li><a href="#mini-apps">Mini Apps</a></li>
<li><a href="#bots-for-business">Bots for Business</a></li>
<li><a href="#payments">Payments</a></li>
<li><a href="#web-login">Web Login</a></li>
@ -245,10 +245,11 @@ width=44% /></a>
<li>Create gaming bots by integrating <a href="#html5-games">HTML5 Games</a>.</li>
<li>Help users create and manage <a href="#stickers-and-custom-emoji">Telegram Stickers</a>.</li>
</ul>
<h3><a class="anchor" name="web-apps" href="#web-apps"><i class="anchor-icon"></i></a>Web Apps</h3>
<p>Bots can easily process <strong>complex inputs</strong> of any kind and <strong>dynamic interaction flows</strong> via <a href="webapps">Web Apps</a>. With this unique feature, you can develop any number of flexible, streamlined interfaces in <strong>JavaScript</strong>.</p>
<h3><a class="anchor" name="mini-apps" href="#mini-apps"><i class="anchor-icon"></i></a>Mini Apps</h3>
<p><a href="webapps">Mini Apps</a> allow developers to create infinitely flexible interfaces that can be launched right inside Telegram integrating seamlessly with the app and replacing <strong>any website</strong>.</p>
<p>If your bot is a mini app, you can add a prominent <strong>Launch app</strong> button as well as demo videos and screenshots to the bots profile. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set your mini app as your bot&#39;s <a href="webapps#launching-the-main-mini-app">Main App</a>.</p>
<blockquote>
<p>Web Apps are covered in detail in our <a href="webapps">dedicated guide</a> you should read it carefully to learn the wide variety of features they can offer.</p>
<p>Mini apps are covered in detail in our <a href="webapps">dedicated guide</a> you should read it carefully to learn the wide variety of features they can offer.</p>
</blockquote>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/464001434/100bf/eWprjdgzEbE.100386/644bbea83084f44c8f" style="max-width: 400px;" title="Attachment Menu" alt="Video: Bot Attachment Menu">
@ -256,8 +257,34 @@ width=44% /></a>
</video>
</div>
<p>If you develop a <strong>Web App</strong>, be sure to follow our <a href="webapps#design-guidelines">design guidelines</a> you&#39;ll want your custom interface to <strong>seamlessly integrate</strong> into the app to provide users the best possible experience.</p>
<h4><a class="anchor" name="bots-for-business" href="#bots-for-business"><i class="anchor-icon"></i></a>Bots for Business</h4>
<p>If you develop a <strong>mini app</strong>, be sure to follow our <a href="webapps#design-guidelines">design guidelines</a> you&#39;ll want your custom interface to <strong>seamlessly integrate</strong> into the app to provide users the best possible experience.</p>
<h4><a class="anchor" name="seamless-integration-with-telegram" href="#seamless-integration-with-telegram"><i class="anchor-icon"></i></a>Seamless Integration With Telegram</h4>
<p>Mini apps integrate <strong>seamlessly</strong> with Telegram from receiving detailed <a href="webapps#themeparams">theme settings</a> to using native dialogs for reading <a href="webapps#initializing-mini-apps">QR codes</a>, controlling <a href="webapps#biometricmanager">biometrics</a>, sharing media <a href="webapps#initializing-mini-apps">directly to stories</a> and more.</p>
<p>When opened from a <a href="webapps#direct-link-mini-apps">direct link</a> in a group, mini apps can also use the <code>chat_instance</code> parameter to track of the current context, supporting <strong>shared usage</strong> by multiple chat members to create live whiteboards, group orders, multiplayer games and much more.</p>
<h4><a class="anchor" name="sharing-from-mini-apps-to-stories" href="#sharing-from-mini-apps-to-stories"><i class="anchor-icon"></i></a>Sharing from Mini Apps to Stories</h4>
<p>Any media created by the mini app, like whiteboard snapshots, leaderboards and AI-generated videos can be opened with the native story editor via the <a href="webapps#initializing-mini-apps">shareToStory</a> method for users to share as a <a href="https://telegram.org/tour/stories">Telegram Story</a> right from the mini app. </p>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/400780400371/4/l5lIymX0jZo.24285/0fe2981522348dce64" style="max-width: 400px;" title="Sharing Stories" alt="Sharing Stories">
<source src="/file/400780400676/1/yDZoLCZ9bKQ.3403169.mp4/6e2b8eca9d3a23cc64" type="video/mp4">
</video>
</div>
<blockquote>
<p>Mini apps also receive a number of <strong>events</strong>, allowing them to <strong>instantly react</strong> to actions by the user. You can learn more about which events are available <a href="webapps#events-available-for-mini-apps">here</a>.</p>
</blockquote>
<h4><a class="anchor" name="mini-app-store" href="#mini-app-store"><i class="anchor-icon"></i></a>Mini App Store</h4>
<p>More than <strong>500 million</strong> out of Telegram&#39;s <a href="https://t.me/durov/337">950</a> million users interact with mini apps every month. Succesful mini apps have the chance to be <strong>highlighted</strong> in the Telegram Mini App Store appearing for all users in the <em>&#39;Apps&#39;</em> tab of Search.</p>
<p>Featured mini apps are chosen based on how they <strong>enrich the Telegram ecosystem</strong>. To increase the chances of being featured, you must <strong>enable</strong> the <a href="https://core.telegram.org/bots/webapps#launching-the-main-mini-app">Main Mini App</a> in <a href="https://t.me/botfather">@BotFather</a>, <strong>upload</strong> high-quality media demos showcasing your app to your bot&#39;s profile and <strong>accept payments</strong> in <a href="https://telegram.org/blog/telegram-stars">Telegram Stars</a>.</p>
<div class="blog_video_player_wrap" style="max-width: 400px; margin: 20px auto 20px;">
<video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay="" loop="" controls="" muted="" poster="/file/400780400572/1/KDOL4LVn0qU.46714/87e3de3384c284a00d" style="max-width: 400px;" title="Mini App Store" alt="Mini App Store">
<source src="/file/400780400928/1/bb7CeIf11Es.6604686.mp4/ea45ba121b84766f1d" type="video/mp4">
</video>
</div>
<blockquote>
<p>Check out our documentation to learn more about <a href="https://core.telegram.org/bots/webapps#launching-the-main-mini-app">enabling Main Mini Apps</a> and <a href="https://core.telegram.org/bots/payments-stars">accepting payments</a> in Stars.</p>
</blockquote>
<h3><a class="anchor" name="bots-for-business" href="#bots-for-business"><i class="anchor-icon"></i></a>Bots for Business</h3>
<p>Bots can enable <strong>Business Mode</strong>, allowing <a href="https://telegram.org/blog/telegram-business">Telegram Business</a> subscribers to connect them to their account to streamline and automate private chat management and interactions with their clients.</p>
<p>The <strong>account owner</strong> can specify which chats your bot can access within those chats, the bot will receive all updates normally supported by the <a href="https://core.telegram.org/bots/api">Bot API</a>, except messages sent by itself and other bots. Depending on the business connection settings, your bot may also be able to <strong>send messages</strong> and do other actions on behalf of the account owner in chats that were active in the last 24h.</p>
<p>Here is a quick start guide to integrate your bot with Telegram Business:</p>

View file

@ -57,6 +57,12 @@
</blockquote>
<hr>
<h3><a class="anchor" name="recent-changes" href="#recent-changes"><i class="anchor-icon"></i></a>Recent changes</h3>
<h4><a class="anchor" name="july-31-2024" href="#july-31-2024"><i class="anchor-icon"></i></a>July 31, 2024</h4>
<p><strong>Bot API 7.8</strong></p>
<ul>
<li>Added the option for bots to set a <a href="#launching-the-main-mini-app">Main Mini App</a>, which can be previewed and launched directly from a button in the bot&#39;s profile or a link.</li>
<li>Added the method <em>shareToStory</em> to the class <a href="#initializing-mini-apps">WebApp</a>.</li>
</ul>
<h4><a class="anchor" name="july-7-2024" href="#july-7-2024"><i class="anchor-icon"></i></a>July 7, 2024</h4>
<p><strong>Bot API 7.7</strong></p>
<ul>
@ -144,7 +150,7 @@
</ul>
<hr>
<h3><a class="anchor" name="implementing-mini-apps" href="#implementing-mini-apps"><i class="anchor-icon"></i></a>Implementing Mini Apps</h3>
<p>Telegram currently supports six different ways of launching Mini Apps: from a <a href="#keyboard-button-mini-apps">keyboard button</a>, from an <a href="#inline-button-mini-apps">inline button</a>, from the <a href="#launching-mini-apps-from-the-menu-button">bot menu button</a>, via <a href="#inline-mode-mini-apps">inline mode</a>, from a <a href="#direct-link-mini-apps">direct link</a> and even from the <a href="#launching-mini-apps-from-the-attachment-menu">attachment menu</a>.</p>
<p>Telegram currently supports seven different ways of launching Mini Apps: the main Mini App from a <a href="#launching-the-main-mini-app">profile button</a>, from a <a href="#keyboard-button-mini-apps">keyboard button</a>, from an <a href="#inline-button-mini-apps">inline button</a>, from the <a href="#launching-mini-apps-from-the-menu-button">bot menu button</a>, via <a href="#inline-mode-mini-apps">inline mode</a>, from a <a href="#direct-link-mini-apps">direct link</a> and even from the <a href="#launching-mini-apps-from-the-attachment-menu">attachment menu</a>.</p>
<div>
<a href="/file/464001388/10b1a/IYpn0wWfggw.1156850/fd9a32baa81dcecbe4" target="_blank"><img src="/file/464001388/10b1a/IYpn0wWfggw.1156850/fd9a32baa81dcecbe4" title="" alt="Types of buttons" class="dev_page_image" /></a>
</div>
@ -194,6 +200,29 @@
<blockquote>
<p><a href="https://t.me/durgerkingbot">@DurgerKingBot</a> allows launching its Mini App both from an inline button and from the menu button.</p>
</blockquote>
<h4><a class="anchor" name="launching-the-main-mini-app" href="#launching-the-main-mini-app"><i class="anchor-icon"></i></a>Launching the main Mini App</h4>
<blockquote>
<p><strong>TL;DR:</strong> If your bot is a mini app, you can add a prominent <strong>Launch app</strong> button as well as high-quality demo videos and screenshots to the bots profile. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set the mini app as your bot&#39;s main app.</p>
</blockquote>
<p>If your bot is a mini app, you can unlock a number of features that streamline and simplify the way in which users view and interact with it. To do this, go to <a href="https://t.me/botfather">@BotFather</a> and set the mini app as your bot&#39;s <strong>Main App</strong>.</p>
<p>After setting a main mini app, you&#39;ll be able to upload detailed <strong>media preview demos</strong> to publicly highlight your app&#39;s key features on its profile. A <strong>Launch app</strong> button will also appear, allowing users to open your app directly from its profile.</p>
<blockquote>
<p>Bots that enabled a main mini app will be displayed in the <em>Apps</em> tab of the search for users who have launched them.</p>
</blockquote>
<p>A bot&#39;s <strong>main Mini App</strong> can also be opened in the current chat by direct link in the format <code>https://t.me/botusername?startapp</code>. If a non-empty <em>startapp</em> parameter is included in the link, it will be passed to the Mini App in the <em>start_param</em> field and in the GET parameter <em>tgWebAppStartParam</em>. </p>
<p><strong>Examples</strong></p>
<p><code>https://t.me/botusername?startapp</code><br><code>https://t.me/botusername?startapp=command</code><br><code>https://t.me/botusername?startapp=command&amp;mode=compact</code></p>
<p>In this mode, Mini Apps can use the <em>chat_type</em> and <em>chat_instance</em> parameters to keep track of the current chat context. This introduces support for <strong>concurrent</strong> and <strong>shared</strong> usage by multiple chat members to create live whiteboards, group orders, multiplayer games and similar apps.</p>
<p>By default, the main Mini App opens to full-screen height, and users cannot reduce them to half-height. However, you can change this behavior via <a href="https://t.me/botfather">@BotFather</a> or by including the parameter <code>mode=compact</code> in the link to the Mini App, in which case it will open to half-screen height by default.</p>
<p><strong>Good for:</strong></p>
<ul>
<li>Fully-fledged web services and integrations that any user can open in one tap.</li>
<li>Cooperative, multiplayer or teamwork-oriented services within a chat context.</li>
<li>The use cases are effectively <strong>unlimited</strong>.</li>
</ul>
<blockquote>
<p>Successful bots which <strong>enable</strong> a main Mini App and <strong>accept payments</strong> in <a href="https://core.telegram.org/bots/payments-stars">Telegram Stars</a> may be featured in the Telegram <a href="https://t.me/BotNews/99">Mini App Store</a>. To increase the chances of being featured, we recommend uploading high-quality media showcasing your app on your bot&#39;s profile and following our <a href="#design-guidelines">design guidelines</a>.</p>
</blockquote>
<h4><a class="anchor" name="inline-mode-mini-apps" href="#inline-mode-mini-apps"><i class="anchor-icon"></i></a>Inline Mode Mini Apps</h4>
<blockquote>
<p><strong>TL;DR:</strong> Mini Apps launched via <strong>web_app</strong> type <a href="/bots/api#inlinequeryresultsbutton">InlineQueryResultsButton</a> can be used anywhere in inline mode. Users can create content in a web interface and then seamlessly send it to the current chat via inline mode.</p>
@ -413,6 +442,11 @@
<td><mark>Bot API 6.1+</mark> A method that opens an invoice using the link <em>url</em>. The Mini App will receive the <a href="#events-available-for-mini-apps">event</a> <em>invoiceClosed</em> when the invoice is closed. If an optional <em>callback</em> parameter was passed, the <em>callback</em> function will be called and the invoice status will be passed as the first argument.</td>
</tr>
<tr>
<td>shareToStory(media_url[, params])</td>
<td>Function</td>
<td><mark>Bot API 7.8+</mark> A method that opens the native story editor with the media specified in the <em>media_url</em> parameter as an HTTPS URL. An optional <em>params</em> argument of the type <a href="#storyshareparams">StoryShareParams</a> describes additional sharing settings.</td>
</tr>
<tr>
<td>showPopup(params[, callback])</td>
<td>Function</td>
<td><mark>Bot API 6.2+</mark> A method that shows a native popup described by the <em>params</em> argument of the type <a href="#popupparams">PopupParams</a>. The Mini App will receive the <a href="#events-available-for-mini-apps">event</a> <em>popupClosed</em> when the popup is closed. If an optional <em>callback</em> parameter was passed, the <em>callback</em> function will be called and the field <em>id</em> of the pressed button will be passed as the first argument.</td>
@ -557,6 +591,70 @@
</div>
<h4><a class="anchor" name="storyshareparams" href="#storyshareparams"><i class="anchor-icon"></i></a>StoryShareParams</h4>
<p>This object describes additional sharing settings for the native story editor.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The caption to be added to the media, 0-200 characters for regular users and 0-2048 characters for <a href="https://telegram.org/faq_premium#telegram-premium">premium</a> subscribers.</td>
</tr>
<tr>
<td>widget_link</td>
<td><a href="#storywidgetlink">StoryWidgetLink</a></td>
<td><em>Optional</em>. An object that describes a widget link to be included in the story. Note that only <a href="https://telegram.org/faq_premium#telegram-premium">premium</a> subscribers can post stories with links.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="storywidgetlink" href="#storywidgetlink"><i class="anchor-icon"></i></a>StoryWidgetLink</h4>
<p>This object describes a widget link to be included in the story.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>String</td>
<td>The URL to be included in the story.</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td><em>Optional</em>. The name to be displayed for the widget link, 0-48 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="scanqrpopupparams" href="#scanqrpopupparams"><i class="anchor-icon"></i></a>ScanQrPopupParams</h4>
<p>This object describes the native popup for scanning QR codes.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The text to be displayed under the &#39;Scan QR&#39; heading, 0-64 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="popupparams" href="#popupparams"><i class="anchor-icon"></i></a>PopupParams</h4>
<p>This object describes the native popup.</p>
<table class="table">
@ -585,24 +683,6 @@
</tr>
</tbody>
</table>
<h4><a class="anchor" name="scanqrpopupparams" href="#scanqrpopupparams"><i class="anchor-icon"></i></a>ScanQrPopupParams</h4>
<p>This object describes the native popup for scanning QR codes.</p>
<table class="table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td><em>Optional</em>. The text to be displayed under the &#39;Scan QR&#39; heading, 0-64 characters.</td>
</tr>
</tbody>
</table>
<h4><a class="anchor" name="popupbutton" href="#popupbutton"><i class="anchor-icon"></i></a>PopupButton</h4>
<p>This object describes the native popup button.</p>
<table class="table">

View file

@ -6,6 +6,13 @@
<item>
<title>Telegram macOS</title>
<description>• Bug fixes, minor improvements, and more.</description>
<pubDate>2024-31-07 16:32:03</pubDate>
<enclosure sparkle:version="266648" sparkle:shortVersionString="10.15.3" sparkle:dsaSignature="MC4CFQDrPcU5OsYuVloeH6CSrMrlRgrCfwIVAInoqnxxM2GkNfTqF5bY+lEv+O+R" url="https://osx.telegram.org/updates/Telegram-10.15.3.266648.app.zip" length="104458754" forbidden="false" critical="false" environment="updates" fileName="Telegram-10.15.3.266648.app.zip" internalUrl="https://t.me/macos_stable_updates_files/281" dmgName="Telegram-10.15.3.266648.dmg" type="application/octet-stream"/>
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
</item>
<item>
<title>Telegram macOS</title>
<description>• Bug fixes, minor improvements, and more.</description>
<pubDate>2024-05-07 14:16:57</pubDate>
<enclosure sparkle:version="265540" sparkle:shortVersionString="10.15.2" sparkle:dsaSignature="MC4CFQDPgm4hSj4N8nFgNciolQkuc7wuWAIVAMHDLVgCGdgLME6vJssy6odAEPEA" url="https://osx.telegram.org/updates/Telegram-10.15.2.265540.app.zip" length="103537067" forbidden="false" critical="false" environment="updates" fileName="Telegram-10.15.2.265540.app.zip" internalUrl="https://t.me/macos_stable_updates_files/280" dmgName="Telegram-10.15.2.265540.dmg" type="application/octet-stream"/>
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
@ -136,12 +143,5 @@
<enclosure sparkle:version="262578" sparkle:shortVersionString="10.12" sparkle:dsaSignature="MCwCFD58RqL72ey4DA3z6ZZV9GWaE1VAAhR/TSh5t1Ieq9Dvuyhycr55d1zNNw==" url="https://osx.telegram.org/updates/Telegram-10.12.262578.app.zip" length="101358591" forbidden="false" critical="false" environment="updates" fileName="Telegram-10.12.262578.app.zip" internalUrl="https://t.me/macos_stable_updates_files/262" dmgName="Telegram-10.12.262578.dmg" type="application/octet-stream"/>
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
</item>
<item>
<title>Telegram macOS</title>
<description>• Bug fixes, minor improvements, and more.</description>
<pubDate>2024-03-04 17:05:40</pubDate>
<enclosure sparkle:version="261795" sparkle:shortVersionString="10.10.2" sparkle:dsaSignature="MC0CFEhslP6bzeAOpBzfhYbJ6JfFQaoRAhUAomFtFEz4VwZ2Bm6hdzd3sh1pwOM=" url="https://osx.telegram.org/updates/Telegram-10.10.2.261795.app.zip" length="100740390" forbidden="false" critical="false" environment="updates" fileName="Telegram-10.10.2.261795.app.zip" internalUrl="https://t.me/macos_stable_updates_files/261" dmgName="Telegram-10.10.2.261795.dmg" type="application/octet-stream"/>
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
</item>
</channel>
</rss>

View file

@ -50,6 +50,7 @@ inputPhoneContact#f392b7f4 client_id:long phone:string first_name:string last_na
inputFile#f52ff27f id:long parts:int name:string md5_checksum:string = InputFile;
inputFileBig#fa4f0bb5 id:long parts:int name:string = InputFile;
inputFileStoryDocument#62dc8b48 id:InputDocument = InputFile;
inputMediaEmpty#9664f57f = InputMedia;
inputMediaUploadedPhoto#1e287d04 flags:# spoiler:flags.2?true file:InputFile stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
@ -107,7 +108,7 @@ storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;
userEmpty#d3bc4b7a id:long = User;
user#215c4438 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor = User;
user#83314fca flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int = User;
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true personal:flags.2?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
@ -204,6 +205,7 @@ messageActionGiveawayResults#2a9fadc5 winners_count:int unclaimed_count:int = Me
messageActionBoostApply#cc02aa6d boosts:int = MessageAction;
messageActionRequestedPeerSentMe#93b31848 button_id:int peers:Vector<RequestedPeer> = MessageAction;
messageActionPaymentRefunded#41b3e202 flags:# peer:Peer currency:string total_amount:long payload:flags.0?bytes charge:PaymentCharge = MessageAction;
messageActionGiftStars#45d5b021 flags:# currency:string amount:long stars:long crypto_currency:flags.0?string crypto_amount:flags.0?long transaction_id:flags.1?string = MessageAction;
dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
@ -592,7 +594,7 @@ accountDaysTTL#b8d0afdf days:int = AccountDaysTTL;
documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
documentAttributeAnimated#11b58939 = DocumentAttribute;
documentAttributeSticker#6319d612 flags:# mask:flags.1?true alt:string stickerset:InputStickerSet mask_coords:flags.0?MaskCoords = DocumentAttribute;
documentAttributeVideo#d38ff1c2 flags:# round_message:flags.0?true supports_streaming:flags.1?true nosound:flags.3?true duration:double w:int h:int preload_prefix_size:flags.2?int = DocumentAttribute;
documentAttributeVideo#17399fad flags:# round_message:flags.0?true supports_streaming:flags.1?true nosound:flags.3?true duration:double w:int h:int preload_prefix_size:flags.2?int video_start_ts:flags.4?double = DocumentAttribute;
documentAttributeAudio#9852f9c6 flags:# voice:flags.10?true duration:int title:flags.0?string performer:flags.1?string waveform:flags.2?bytes = DocumentAttribute;
documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
documentAttributeHasStickers#9801d2f7 = DocumentAttribute;
@ -653,7 +655,7 @@ messages.stickerSetNotModified#d3f924eb = messages.StickerSet;
botCommand#c27ac8c7 command:string description:string = BotCommand;
botInfo#8f300b57 flags:# user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector<BotCommand> menu_button:flags.3?BotMenuButton = BotInfo;
botInfo#8f300b57 flags:# has_preview_medias:flags.6?true user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector<BotCommand> menu_button:flags.3?BotMenuButton = BotInfo;
keyboardButton#a2fa4880 text:string = KeyboardButton;
keyboardButtonUrl#258aff05 text:string url:string = KeyboardButton;
@ -813,6 +815,7 @@ topPeerCategoryChannels#161d9628 = TopPeerCategory;
topPeerCategoryPhoneCalls#1e76a78c = TopPeerCategory;
topPeerCategoryForwardUsers#a8406ca9 = TopPeerCategory;
topPeerCategoryForwardChats#fbeec0f0 = TopPeerCategory;
topPeerCategoryBotsApp#fd9e7bec = TopPeerCategory;
topPeerCategoryPeers#fb834291 category:TopPeerCategory count:int peers:Vector<TopPeer> = TopPeerCategoryPeers;
@ -1477,7 +1480,7 @@ attachMenuPeerTypeBroadcast#7bfbdefc = AttachMenuPeerType;
inputInvoiceMessage#c5b56859 peer:InputPeer msg_id:int = InputInvoice;
inputInvoiceSlug#c326caef slug:string = InputInvoice;
inputInvoicePremiumGiftCode#98986c0d purpose:InputStorePaymentPurpose option:PremiumGiftCodeOption = InputInvoice;
inputInvoiceStars#1da33ad8 option:StarsTopupOption = InputInvoice;
inputInvoiceStars#65f00ce3 purpose:InputStorePaymentPurpose = InputInvoice;
payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
@ -1489,7 +1492,8 @@ inputStorePaymentPremiumSubscription#a6751e66 flags:# restore:flags.0?true upgra
inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_peer:flags.0?InputPeer currency:string amount:long = InputStorePaymentPurpose;
inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
inputStorePaymentStars#4f0ee8df flags:# stars:long currency:string amount:long = InputStorePaymentPurpose;
inputStorePaymentStarsTopup#dddd0f56 stars:long currency:string amount:long = InputStorePaymentPurpose;
inputStorePaymentStarsGift#1d741ef7 user_id:InputUser stars:long currency:string amount:long = InputStorePaymentPurpose;
premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
@ -1637,6 +1641,7 @@ mediaAreaSuggestedReaction#14455871 flags:# dark:flags.0?true flipped:flags.1?tr
mediaAreaChannelPost#770416af coordinates:MediaAreaCoordinates channel_id:long msg_id:int = MediaArea;
inputMediaAreaChannelPost#2271f2bf coordinates:MediaAreaCoordinates channel:InputChannel msg_id:int = MediaArea;
mediaAreaUrl#37381085 coordinates:MediaAreaCoordinates url:string = MediaArea;
mediaAreaWeather#49a6549c coordinates:MediaAreaCoordinates emoji:string temperature_c:double color:int = MediaArea;
peerStories#9a35e999 flags:# peer:Peer max_read_id:flags.0?int stories:Vector<StoryItem> = PeerStories;
@ -1830,7 +1835,7 @@ starsTransactionPeerAds#60682812 = StarsTransactionPeer;
starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption;
starsTransaction#2db5418f flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> = StarsTransaction;
starsTransaction#2db5418f flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> = StarsTransaction;
payments.starsStatus#8cf4ee60 flags:# balance:long history:Vector<StarsTransaction> next_offset:flags.0?string chats:Vector<Chat> users:Vector<User> = payments.StarsStatus;
@ -1850,6 +1855,14 @@ payments.starsRevenueAdsAccountUrl#394e7f21 url:string = payments.StarsRevenueAd
inputStarsTransaction#206ae6d1 flags:# refund:flags.0?true id:string = InputStarsTransaction;
starsGiftOption#5e0589f1 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsGiftOption;
bots.popularAppBots#1991b13b flags:# next_offset:flags.0?string users:Vector<User> = bots.PopularAppBots;
botPreviewMedia#23e91ba3 date:int media:MessageMedia = BotPreviewMedia;
bots.previewInfo#ca71d64 media:Vector<BotPreviewMedia> lang_codes:Vector<string> = bots.PreviewInfo;
---functions---
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@ -2016,7 +2029,7 @@ contacts.unblock#b550d328 flags:# my_stories_from:flags.0?true id:InputPeer = Bo
contacts.getBlocked#9a868f80 flags:# my_stories_from:flags.0?true offset:int limit:int = contacts.Blocked;
contacts.search#11f812d8 q:string limit:int = contacts.Found;
contacts.resolveUsername#f93ccba3 username:string = contacts.ResolvedPeer;
contacts.getTopPeers#973478b6 flags:# correspondents:flags.0?true bots_pm:flags.1?true bots_inline:flags.2?true phone_calls:flags.3?true forward_users:flags.4?true forward_chats:flags.5?true groups:flags.10?true channels:flags.15?true offset:int limit:int hash:long = contacts.TopPeers;
contacts.getTopPeers#973478b6 flags:# correspondents:flags.0?true bots_pm:flags.1?true bots_inline:flags.2?true phone_calls:flags.3?true forward_users:flags.4?true forward_chats:flags.5?true groups:flags.10?true channels:flags.15?true bots_app:flags.16?true offset:int limit:int hash:long = contacts.TopPeers;
contacts.resetTopPeerRating#1ae373ac category:TopPeerCategory peer:InputPeer = Bool;
contacts.resetSaved#879537f1 = Bool;
contacts.getSaved#82f1e39f = Vector<SavedContact>;
@ -2245,6 +2258,7 @@ messages.getAvailableEffects#dea20a39 hash:int = messages.AvailableEffects;
messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities = Updates;
messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true peer:InputPeer bot:InputUser start_param:flags.1?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
updates.getState#edd4882a = updates.State;
updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
@ -2373,6 +2387,13 @@ bots.toggleUsername#53ca973 bot:InputUser username:string active:Bool = Bool;
bots.canSendMessage#1359f4e6 bot:InputUser = Bool;
bots.allowSendMessage#f132e3ef bot:InputUser = Updates;
bots.invokeWebViewCustomMethod#87fc5e7 bot:InputUser custom_method:string params:DataJSON = DataJSON;
bots.getPopularAppBots#c2510192 offset:string limit:int = bots.PopularAppBots;
bots.addPreviewMedia#17aeb75a bot:InputUser lang_code:string media:InputMedia = BotPreviewMedia;
bots.editPreviewMedia#8525606f bot:InputUser lang_code:string media:InputMedia new_media:InputMedia = BotPreviewMedia;
bots.deletePreviewMedia#2d0135b3 bot:InputUser lang_code:string media:Vector<InputMedia> = Bool;
bots.reorderPreviewMedias#b627f3aa bot:InputUser lang_code:string order:Vector<InputMedia> = Bool;
bots.getPreviewInfo#423ab3ad bot:InputUser lang_code:string = bots.PreviewInfo;
bots.getPreviewMedias#a2a5594d bot:InputUser = Vector<BotPreviewMedia>;
payments.getPaymentForm#37148dbb flags:# invoice:InputInvoice theme_params:flags.0?DataJSON = payments.PaymentForm;
payments.getPaymentReceipt#2478d1cc peer:InputPeer msg_id:int = payments.PaymentReceipt;
@ -2399,6 +2420,7 @@ payments.getStarsRevenueStats#d91ffad6 flags:# dark:flags.0?true peer:InputPeer
payments.getStarsRevenueWithdrawalUrl#13bbe8b3 peer:InputPeer stars:long password:InputCheckPasswordSRP = payments.StarsRevenueWithdrawalUrl;
payments.getStarsRevenueAdsAccountUrl#d1d7efc5 peer:InputPeer = payments.StarsRevenueAdsAccountUrl;
payments.getStarsTransactionsByID#27842d2e peer:InputPeer id:Vector<InputStarsTransaction> = payments.StarsStatus;
payments.getStarsGiftOptions#d3c96bc8 flags:# user_id:flags.0?InputUser = Vector<StarsGiftOption>;
stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;

View file

@ -190,6 +190,8 @@
<h4><a class="anchor" name="7-2-marketing" href="#7-2-marketing"><i class="anchor-icon"></i></a>7.2. Marketing</h4>
<p>By accessing and utilizing Bot Platform, you consent to grant us a non-exclusive, perpetual, transferable, sub-licensable, royalty-free, and worldwide license to utilize (not reproduce) your TPA for the betterment of the Telegram ecosystem. This encompasses the running, public displaying, advertising, distribution, hosting, enhancement, translation, and utilization of your TPA in manners that facilitate the functionality, publicity, popularity, advancement, and improvement of our platform, APIs, services and products. For clarity and without limiting the foregoing, this provision allows us to, among other things, market and advertise your TPA to users or to other third parties by displaying its name and functionality, make your TPA available through the global Telegram search or other app interfaces and facilitate user engagement with the services you offer.</p>
<p>Should either Bot Platform or your TPA be discontinued, this license will remain in effect.</p>
<h5><a class="anchor" name="7-2-1-featured-mini-apps" href="#7-2-1-featured-mini-apps"><i class="anchor-icon"></i></a>7.2.1. Featured Mini Apps</h5>
<p>Telegram may choose to highlight specific TPA from Bot Platform in various interfaces of the app, making the TPA more visible to users. Telegram chooses which TPA to feature at its sole discretion, based on the popularity, functionality and usefulness of each TPA, among other factors. Telegram may alter these criteria and add or remove highlighted TPA from such interfaces at any point.</p>
<h4><a class="anchor" name="7-3-open-source-licenses" href="#7-3-open-source-licenses"><i class="anchor-icon"></i></a>7.3. Open Source Licenses</h4>
<p>To facilitate the integration of your TPA with Bot Platform, Telegram may at times in its sole discretion make available software repositories or tools released under different licenses, some of which may be open source. In the event of any inconsistency or conflict between such licenses and these Terms, the provisions of the relevant open source license shall supersede these Terms to the extent strictly necessary for conflict resolution and solely within the scope of the software they pertain to.</p>
<h3><a class="anchor" name="8-compliance-with-laws" href="#8-compliance-with-laws"><i class="anchor-icon"></i></a>8. Compliance with Laws</h3>