mirror of
https://github.com/MarshalX/telegram-crawler.git
synced 2024-12-28 15:31:11 +01:00
Update content of files
This commit is contained in:
parent
d1d8046bc7
commit
2c3a8181f5
3 changed files with 12 additions and 11 deletions
|
@ -47,7 +47,7 @@
|
|||
<p>Users can interact with your bot via <a href="/bots/features#inline-requests"><strong>inline queries</strong></a>, straight from the <strong>text input field</strong> in <strong>any</strong> chat.<br>
|
||||
This article describes the full inline bot flow, using the MTProto API. </p>
|
||||
<p>For a simplified description using the HTTP bot API, see <a href="/bots/features#inline-requests">here »</a>. </p>
|
||||
<h3><a class="anchor" href="#making-an-inline-query" id="making-an-inline-query" name="making-an-inline-query"><i class="anchor-icon"></i></a>Making an inline query</h3>
|
||||
<h3><a class="anchor" href="#1-making-an-inline-query" id="1-making-an-inline-query" name="1-making-an-inline-query"><i class="anchor-icon"></i></a>1. Making an inline query</h3>
|
||||
<pre><code><a href='/constructor/messages.botResults'>messages.botResults</a>#e021f2f6 flags:<a href='/type/%23'>#</a> gallery:flags.0?<a href='/constructor/true'>true</a> query_id:<a href='/type/long'>long</a> next_offset:flags.1?<a href='/type/string'>string</a> switch_pm:flags.2?<a href='/type/InlineBotSwitchPM'>InlineBotSwitchPM</a> switch_webview:flags.3?<a href='/type/InlineBotWebView'>InlineBotWebView</a> results:<a href='/type/Vector%20t'>Vector</a><<a href='/type/BotInlineResult'>BotInlineResult</a>> cache_time:<a href='/type/int'>int</a> users:<a href='/type/Vector%20t'>Vector</a><<a href='/type/User'>User</a>> = <a href='/type/messages.BotResults'>messages.BotResults</a>;
|
||||
|
||||
---functions---
|
||||
|
@ -67,7 +67,7 @@ This article describes the full inline bot flow, using the MTProto API. </p>
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#answering-to-an-inline-query" id="answering-to-an-inline-query" name="answering-to-an-inline-query"><i class="anchor-icon"></i></a>Answering to an inline query</h3>
|
||||
<h3><a class="anchor" href="#2-answering-to-an-inline-query" id="2-answering-to-an-inline-query" name="2-answering-to-an-inline-query"><i class="anchor-icon"></i></a>2. Answering to an inline query</h3>
|
||||
<pre><code><a href='/constructor/inputBotInlineMessageMediaAuto'>inputBotInlineMessageMediaAuto</a>#3380c786 flags:<a href='/type/%23'>#</a> message:<a href='/type/string'>string</a> entities:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/MessageEntity'>MessageEntity</a>> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/InputBotInlineMessage'>InputBotInlineMessage</a>;
|
||||
<a href='/constructor/inputBotInlineMessageText'>inputBotInlineMessageText</a>#3dcd7a87 flags:<a href='/type/%23'>#</a> no_webpage:flags.0?<a href='/constructor/true'>true</a> message:<a href='/type/string'>string</a> entities:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/MessageEntity'>MessageEntity</a>> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/InputBotInlineMessage'>InputBotInlineMessage</a>;
|
||||
<a href='/constructor/inputBotInlineMessageMediaGeo'>inputBotInlineMessageMediaGeo</a>#96929a85 flags:<a href='/type/%23'>#</a> geo_point:<a href='/type/InputGeoPoint'>InputGeoPoint</a> heading:flags.0?<a href='/type/int'>int</a> period:flags.1?<a href='/type/int'>int</a> proximity_notification_radius:flags.3?<a href='/type/int'>int</a> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/InputBotInlineMessage'>InputBotInlineMessage</a>;
|
||||
|
@ -87,8 +87,8 @@ This article describes the full inline bot flow, using the MTProto API. </p>
|
|||
<a href='/method/messages.setInlineBotResults'>messages.setInlineBotResults</a>#bb12a419 flags:<a href='/type/%23'>#</a> gallery:flags.0?<a href='/constructor/true'>true</a> private:flags.1?<a href='/constructor/true'>true</a> query_id:<a href='/type/long'>long</a> results:<a href='/type/Vector%20t'>Vector</a><<a href='/type/InputBotInlineResult'>InputBotInlineResult</a>> cache_time:<a href='/type/int'>int</a> next_offset:flags.2?<a href='/type/string'>string</a> switch_pm:flags.3?<a href='/type/InlineBotSwitchPM'>InlineBotSwitchPM</a> switch_webview:flags.4?<a href='/type/InlineBotWebView'>InlineBotWebView</a> = <a href='/type/Bool'>Bool</a>;</code></pre>
|
||||
<p>Bots can answer to incoming <a href="/constructor/updateBotInlineQuery">updateBotInlineQuery</a> updates using <a href="/method/messages.setInlineBotResults">messages.setInlineBotResults</a>.<br>
|
||||
Just like its <a href="/bots/api#answerinlinequery">bot API counterpart</a>, the method can be used to send a set of inline results to the user; see the <a href="/method/messages.setInlineBotResults">constructor page for more info on the MTProto method parameters »</a>.</p>
|
||||
<p>In general, the method accepts a vector of <a href="/type/InputBotInlineResult">InputBotInlineResult</a> constructors, that when <a href="#sending-the-inline-query-result">chosen</a>, generates a message with optionally attached media, and even inline buttons.</p>
|
||||
<h3><a class="anchor" href="#sending-the-inline-query-result" id="sending-the-inline-query-result" name="sending-the-inline-query-result"><i class="anchor-icon"></i></a>Sending the inline query result</h3>
|
||||
<p>In general, the method accepts a vector of <a href="/type/InputBotInlineResult">InputBotInlineResult</a> constructors, that when <a href="#3-sending-the-inline-query-result">chosen</a>, generates a message with optionally attached media, and even inline buttons.</p>
|
||||
<h3><a class="anchor" href="#3-sending-the-inline-query-result" id="3-sending-the-inline-query-result" name="3-sending-the-inline-query-result"><i class="anchor-icon"></i></a>3. Sending the inline query result</h3>
|
||||
<pre><code><a href='/constructor/botInlineMessageMediaAuto'>botInlineMessageMediaAuto</a>#764cf810 flags:<a href='/type/%23'>#</a> message:<a href='/type/string'>string</a> entities:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/MessageEntity'>MessageEntity</a>> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/BotInlineMessage'>BotInlineMessage</a>;
|
||||
<a href='/constructor/botInlineMessageText'>botInlineMessageText</a>#8c7f65e2 flags:<a href='/type/%23'>#</a> no_webpage:flags.0?<a href='/constructor/true'>true</a> message:<a href='/type/string'>string</a> entities:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/MessageEntity'>MessageEntity</a>> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/BotInlineMessage'>BotInlineMessage</a>;
|
||||
<a href='/constructor/botInlineMessageMediaGeo'>botInlineMessageMediaGeo</a>#51846fd flags:<a href='/type/%23'>#</a> geo:<a href='/type/GeoPoint'>GeoPoint</a> heading:flags.0?<a href='/type/int'>int</a> period:flags.1?<a href='/type/int'>int</a> proximity_notification_radius:flags.3?<a href='/type/int'>int</a> reply_markup:flags.2?<a href='/type/ReplyMarkup'>ReplyMarkup</a> = <a href='/type/BotInlineMessage'>BotInlineMessage</a>;
|
||||
|
@ -103,8 +103,9 @@ Just like its <a href="/bots/api#answerinlinequery">bot API counterpart</a>, the
|
|||
---functions---
|
||||
|
||||
<a href='/method/messages.sendInlineBotResult'>messages.sendInlineBotResult</a>#d3fbdccb flags:<a href='/type/%23'>#</a> silent:flags.5?<a href='/constructor/true'>true</a> background:flags.6?<a href='/constructor/true'>true</a> clear_draft:flags.7?<a href='/constructor/true'>true</a> hide_via:flags.11?<a href='/constructor/true'>true</a> peer:<a href='/type/InputPeer'>InputPeer</a> reply_to_msg_id:flags.0?<a href='/type/int'>int</a> top_msg_id:flags.9?<a href='/type/int'>int</a> random_id:<a href='/type/long'>long</a> query_id:<a href='/type/long'>long</a> id:<a href='/type/string'>string</a> schedule_date:flags.10?<a href='/type/int'>int</a> send_as:flags.13?<a href='/type/InputPeer'>InputPeer</a> = <a href='/type/Updates'>Updates</a>;</code></pre>
|
||||
<p>The user client should display the <code>results</code> obtained <a href="#making-an-inline-query">during querying</a> in a list, making sure to handle eventual bot timeouts in the form of a <code>BOT_RESPONSE_TIMEOUT</code> RPC error, by simply not displaying anything.</p>
|
||||
<p>If the user then chooses a specific <code>BotInlineResult</code>, the <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a> method should be invoked, passing:</p>
|
||||
<p>The user client should display the <a href="/constructor/messages.botResults">messages.botResults</a>.<code>results</code> obtained <a href="#1-making-an-inline-query">during querying</a> in a list, making sure to handle eventual bot timeouts in the form of a <code>BOT_RESPONSE_TIMEOUT</code> RPC error, by simply not displaying anything. </p>
|
||||
<p>If either the <a href="/constructor/messages.botResults">messages.botResults</a>.<code>switch_pm</code> or <a href="/constructor/messages.botResults">messages.botResults</a>.<code>switch_webview</code> flags are populated, a button should be displayed on top of the result list, that when clicked, instead of sending an inline result to the chat, switches the user to a private chat with the bot (<code>switch_pm</code>) or to a <a href="/api/bots/webapps#simple-web-apps">bot web app</a> (<code>switch_webview</code>),.</p>
|
||||
<p>If the user instead chooses a specific <code>BotInlineResult</code> from the normal <code>results</code> list, the <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a> method should be invoked, passing:</p>
|
||||
<ul>
|
||||
<li>The <code>query_id</code> from <code>messages.botResults</code></li>
|
||||
<li>The <code>id</code> of the chosen result</li>
|
||||
|
@ -112,11 +113,11 @@ Just like its <a href="/bots/api#answerinlinequery">bot API counterpart</a>, the
|
|||
</ul>
|
||||
<p>The resulting <a href="/constructor/message">message</a> will have the <code>via_bot_id</code> field set, to indicate that the result was generated by the bot that generated the inline result.<br>
|
||||
Graphical clients should display the bot <code>@username</code> in the header of the message, allowing the user to click on it, automatically starting an inline query by inserting <code>@username</code> in the text bar.</p>
|
||||
<h3><a class="anchor" href="#inline-feedback" id="inline-feedback" name="inline-feedback"><i class="anchor-icon"></i></a>Inline feedback</h3>
|
||||
<h3><a class="anchor" href="#4-inline-feedback" id="4-inline-feedback" name="4-inline-feedback"><i class="anchor-icon"></i></a>4. Inline feedback</h3>
|
||||
<pre><code><a href='/constructor/inputBotInlineMessageID'>inputBotInlineMessageID</a>#890c3d89 dc_id:<a href='/type/int'>int</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputBotInlineMessageID'>InputBotInlineMessageID</a>;
|
||||
|
||||
<a href='/constructor/updateBotInlineSend'>updateBotInlineSend</a>#12f12a07 flags:<a href='/type/%23'>#</a> user_id:<a href='/type/long'>long</a> query:<a href='/type/string'>string</a> geo:flags.0?<a href='/type/GeoPoint'>GeoPoint</a> id:<a href='/type/string'>string</a> msg_id:flags.1?<a href='/type/InputBotInlineMessageID'>InputBotInlineMessageID</a> = <a href='/type/Update'>Update</a>;</code></pre>
|
||||
<p>If <a href="/bots/inline#collecting-feedback">feedback collection</a> is enabled, the bot may receive an <a href="/constructor/updateBotInlineSend">updateBotInlineSend</a> when the user <a href="#sending-the-inline-query-result">chooses and sends</a> an inline result. </p>
|
||||
<p>If <a href="/bots/inline#collecting-feedback">feedback collection</a> is enabled, the bot may receive an <a href="/constructor/updateBotInlineSend">updateBotInlineSend</a> when the user <a href="#3-sending-the-inline-query-result">chooses and sends</a> an inline result. </p>
|
||||
<p>Even if the <a href="/bots/inline#collecting-feedback">probability setting is set to 100%</a>, not all inline results may be reported due to caching (see the <code>cache_time</code> parameter in <a href="/api/bots/buttons#answering-a-callback-query">Answering a callback query</a>).<br>
|
||||
<a href="/bots/inline#collecting-feedback">Feedback collection</a> can also create load issues for popular bots, so adjust the probability setting to a lower value in such cases.</p>
|
||||
<p>Either way, feedback collection should only be used for statistical purposes rather than functional. </p>
|
||||
|
@ -128,7 +129,7 @@ Graphical clients should display the bot <code>@username</code> in the header of
|
|||
<li><code>query</code> - The query string that was used to obtain the result</li>
|
||||
<li><code>geo</code> - For bots requiring <a href="/bots/inline#location-based-results">location-based inline results</a>, the user's location</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#editing-sent-inline-messages" id="editing-sent-inline-messages" name="editing-sent-inline-messages"><i class="anchor-icon"></i></a>Editing sent inline messages</h3>
|
||||
<h3><a class="anchor" href="#5-editing-sent-inline-messages" id="5-editing-sent-inline-messages" name="5-editing-sent-inline-messages"><i class="anchor-icon"></i></a>5. Editing sent inline messages</h3>
|
||||
<pre><code><a href='/constructor/updateInlineBotCallbackQuery'>updateInlineBotCallbackQuery</a>#691e9052 flags:<a href='/type/%23'>#</a> query_id:<a href='/type/long'>long</a> user_id:<a href='/type/long'>long</a> msg_id:<a href='/type/InputBotInlineMessageID'>InputBotInlineMessageID</a> chat_instance:<a href='/type/long'>long</a> data:flags.0?<a href='/type/bytes'>bytes</a> game_short_name:flags.1?<a href='/type/string'>string</a> = <a href='/type/Update'>Update</a>;
|
||||
|
||||
<a href='/constructor/inputBotInlineMessageID'>inputBotInlineMessageID</a>#890c3d89 dc_id:<a href='/type/int'>int</a> id:<a href='/type/long'>long</a> access_hash:<a href='/type/long'>long</a> = <a href='/type/InputBotInlineMessageID'>InputBotInlineMessageID</a>;
|
||||
|
|
|
@ -2814,7 +2814,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><a href="/method/channels.updateUsername">channels.updateUsername</a></td>
|
||||
<td>Change the username of a supergroup/channel</td>
|
||||
<td>Change or remove the username of a supergroup/channel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/method/account.updateUsername">account.updateUsername</a></td>
|
||||
|
|
|
@ -361,7 +361,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><a href="/method/channels.updateUsername">channels.updateUsername</a></td>
|
||||
<td>Change the username of a supergroup/channel</td>
|
||||
<td>Change or remove the username of a supergroup/channel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/method/messages.editChatAdmin">messages.editChatAdmin</a></td>
|
||||
|
|
Loading…
Reference in a new issue