mirror of
https://github.com/MarshalX/telegram-crawler.git
synced 2025-02-26 22:58:25 +01:00
Update content of files
This commit is contained in:
parent
dd239ef6bf
commit
5d373472c7
9 changed files with 44 additions and 17 deletions
|
@ -55,9 +55,6 @@
|
|||
<h4><a class="anchor" href="#main-button-pressed" id="main-button-pressed" name="main-button-pressed"><i class="anchor-icon"></i></a><code>main_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the main button located at the bottom of the webview, handle this event only if the main button was <a href="/api/web-events#web-app-setup-main-button">previously configured by a <code>web_app_setup_main_button</code> event »</a>.</p>
|
||||
<h4><a class="anchor" href="#settings-button-pressed" id="settings-button-pressed" name="settings-button-pressed"><i class="anchor-icon"></i></a><code>settings_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the settings button, if it was previously enabled in <a href="https://t.me/BotFather">@BotFather</a>, as specified by the <code>has_settings</code> flag of <a href="/constructor/attachMenuBot">attachMenuBot »</a>. </p>
|
||||
<h4><a class="anchor" href="#back-button-pressed" id="back-button-pressed" name="back-button-pressed"><i class="anchor-icon"></i></a><code>back_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the (OS or UI) back button, if it was <a href="/api/web-events#web-app-setup-back-button">previously enabled by a <code>web_app_setup_back_button</code> event »</a>.</p>
|
||||
|
@ -93,7 +90,7 @@ Note that eventual errors will not be sent as a <code>failed</code> event if the
|
|||
</ul>
|
||||
<p>Emitted when requested by the Mini App using a <a href="/api/web-events#web-app-request-theme"><code>web_app_request_theme</code> event »</a>, or when the app theme changes. </p>
|
||||
<h5><a class="anchor" href="#theme-parameters" id="theme-parameters" name="theme-parameters"><i class="anchor-icon"></i></a>Theme parameters</h5>
|
||||
<p>Bot Mini Apps can be themed according to the following theme parameters, passed as a JSON object to the <code>theme_params</code> parameter of the <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a> and <a href="/method/messages.requestWebView">messages.requestWebView</a> methods. </p>
|
||||
<p>Bot Mini Apps can be themed according to the following theme parameters, passed as a JSON object to the <code>theme_params</code> parameter of the <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>, <a href="/method/messages.requestWebView">messages.requestWebView</a> and <a href="/method/messages.requestAppWebView">messages.requestAppWebView</a> methods. </p>
|
||||
<p>This JSON object has the following keys, containing color theme information (hex string, RGB, no alpha) to pass to the Mini App:</p>
|
||||
<ul>
|
||||
<li><code>bg_color</code> - Background color</li>
|
||||
|
|
|
@ -93,7 +93,7 @@ Note that according to the user's <a href="/api/privacy">privacy settings</a>, n
|
|||
|
||||
<a href='/method/contacts.addContact'>contacts.addContact</a>#e8f463d0 flags:<a href='/type/%23'>#</a> add_phone_privacy_exception:flags.0?<a href='/constructor/true'>true</a> id:<a href='/type/InputUser'>InputUser</a> first_name:<a href='/type/string'>string</a> last_name:<a href='/type/string'>string</a> phone:<a href='/type/string'>string</a> = <a href='/type/Updates'>Updates</a>;</code></pre>
|
||||
<p>Telegram users may also be added to the contact list (even if we do not have access to their phone number!) using <a href="/method/contacts.addContact">contacts.addContact</a>. </p>
|
||||
<p>Set the <code>add_phone_privacy_exception</code> flag if we wish to allow the other user to see our phone number: this flag <strong>must</strong> be set if the <code>need_contacts_exception</code> flag of [peerSettings] is set (see the <a href="/api/action-bar">action bar documentation for more info »</a>). </p>
|
||||
<p>Set the <code>add_phone_privacy_exception</code> flag if we wish to allow the other user to see our phone number: this flag <strong>must</strong> be set if the <code>need_contacts_exception</code> flag of <a href="/constructor/peerSettings">peerSettings</a> is set (see the <a href="/api/action-bar">action bar documentation for more info »</a>). </p>
|
||||
<p>The other user will be offered to also add us to the contact list via the <a href="/api/action-bar">add contact action bar</a>: if they accept, their phone number will be automatically added to our contact. </p>
|
||||
<h3><a class="anchor" href="#share-our-phone-number" id="share-our-phone-number" name="share-our-phone-number"><i class="anchor-icon"></i></a>Share our phone number</h3>
|
||||
<pre><code>---functions---
|
||||
|
@ -136,7 +136,7 @@ Note that according to the user's <a href="/api/privacy">privacy settings</a>, n
|
|||
---functions---
|
||||
|
||||
<a href='/method/contacts.getStatuses'>contacts.getStatuses</a>#c4a353ee = <a href='/type/Vector%20t'>Vector</a><<a href='/type/ContactStatus'>ContactStatus</a>>;</code></pre>
|
||||
<p>Use <a href="/method/contacts.getStatuses">contacts.getStatuses</a> to obtain the online statuses of all contacts with an accessible associated Telegram account.</p>
|
||||
<p>Use <a href="/method/contacts.getStatuses">contacts.getStatuses</a> to obtain the online statuses of all contacts with an accessible Telegram account.</p>
|
||||
<h3><a class="anchor" href="#searching-for-contacts" id="searching-for-contacts" name="searching-for-contacts"><i class="anchor-icon"></i></a>Searching for contacts</h3>
|
||||
<p>Schema:</p>
|
||||
<pre><code><a href='/constructor/contacts.found'>contacts.found</a>#b3134d9d my_results:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Peer'>Peer</a>> results:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Peer'>Peer</a>> chats:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Chat'>Chat</a>> users:<a href='/type/Vector%20t'>Vector</a><<a href='/type/User'>User</a>> = <a href='/type/contacts.Found'>contacts.Found</a>;
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
<a href='/method/payments.checkGiftCode'>payments.checkGiftCode</a>#8e51b4c1 slug:<a href='/type/string'>string</a> = <a href='/type/payments.CheckedGiftCode'>payments.CheckedGiftCode</a>;
|
||||
<a href='/method/payments.applyGiftCode'>payments.applyGiftCode</a>#f6e26854 slug:<a href='/type/string'>string</a> = <a href='/type/Updates'>Updates</a>;</code></pre>
|
||||
<p>First of all, invoke <a href="/method/payments.getPremiumGiftCodeOptions">payments.getPremiumGiftCodeOptions</a> to obtain a list of <a href="/constructor/premiumGiftCodeOption">premiumGiftCodeOption</a> constructors, containing a list of giveaway options that may be chosen by the admin, indicating the number and duration of the of <a href="/api/premium">Telegram Premium</a> subscriptions that will be gifted in the giveaway, along with their price (<code>amount</code>) in the specified <code>currency</code> (see the <a href="/constructor/premiumGiftCodeOption">constructor page »</a> for more info on these fields). </p>
|
||||
<p>Once the admin has chosen a specific gift code option, invoke <a href="/method/payments.getPaymentForm">payments.getPaymentForm</a>, passing the chosen <a href="/constructor/premiumGiftCodeOption">premiumGiftCodeOption</a> to <code>option</code> and a <code>purpose</code> containing either:</p>
|
||||
<p>Once the admin has chosen a specific gift code option, invoke <a href="/method/payments.getPaymentForm">payments.getPaymentForm</a>, passing an <a href="/constructor/inputInvoicePremiumGiftCode">inputInvoicePremiumGiftCode</a>, with the chosen <a href="/constructor/premiumGiftCodeOption">premiumGiftCodeOption</a> in <code>option</code> and a <code>purpose</code> containing either:</p>
|
||||
<ul>
|
||||
<li><a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a> to create a giveaway, where Telegram will randomly select <code>option.users</code> subscribers to the channel specified in <code>purpose.boost_peer</code> (only new subscribers starting from the giveaway creation date if the <code>purpose.only_new_subscribers</code> field is set).<br>
|
||||
Additional channels that the user must join to participate to the giveaway can be specified in <code>additional_peers</code>.<br>
|
||||
|
@ -98,16 +98,25 @@ The channel specified in <code>boost_peer</code> will receive <a href="/api/conf
|
|||
Users may also use this method to simply gift subscriptions to contacts by <strong>not</strong> setting the <code>boost_peer</code> field: in this case, gifting a <a href="/api/premium">Telegram Premium</a> subscription to another user will create <a href="/api/config#boosts-per-sent-gift">boosts_per_sent_gift</a> <a href="/api/boost">boost slots »</a> for us, and one boost slot for the destination user. </li>
|
||||
</ul>
|
||||
<p>Then, follow the <a href="/api/payments#22-getting-invoice-info-about-the-product">invoice payment flow as described in the payments documentation »</a>. </p>
|
||||
<p>Two alternative payment flows are also available, offering more affordable pricing:</p>
|
||||
<p>More alternative payment flows are also available:</p>
|
||||
<ul>
|
||||
<li>By contacting <a href="/api/config#premium-bot-username">premium_bot_username</a>, and following the inline keyboard payment flow for giveaways (the final keyboard with the prices will contain buttons with <a href="/api/links#invoice-links">invoice deep links »</a> that should be used to make the payment).</li>
|
||||
<li>Or by using <a href="https://fragment.com">Fragment</a>, which also allows making larger purchases.</li>
|
||||
<li>The Premium Bot flow, by contacting <a href="/api/config#premium-bot-username">premium_bot_username</a>, and following the inline keyboard payment flow for giveaways (the final keyboard with the prices will contain buttons with <a href="/api/links#invoice-links">invoice deep links »</a> that should be used to make the payment).</li>
|
||||
<li>Payment via <a href="https://fragment.com">Fragment</a>, which also allows making larger purchases.</li>
|
||||
<li>The store-based subscription flow based on <a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a>/<a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a>, currently not available to third-party apps. </li>
|
||||
</ul>
|
||||
<p>Once the payment for the giveaway is made, invoke <a href="/method/premium.getBoostsStatus">premium.getBoostsStatus</a>, passing to <code>peer</code> the ID of the channel that we selected when paying for the giveaway, to obtain a <a href="/constructor/prepaidGiveaway">prepaidGiveaway</a> constructor in <a href="/constructor/premium.boostsStatus">premium.boostsStatus</a>.<code>prepaid_giveaways</code>, containing info about the prepaid giveaway. </p>
|
||||
<p>To actually launch the giveaway, invoke <a href="/method/payments.launchPrepaidGiveaway">payments.launchPrepaidGiveaway</a>, passing <a href="/constructor/prepaidGiveaway">prepaidGiveaway</a>.<code>id</code> to <code>giveaway_id</code>, the ID of the channel to <code>peer</code> and giveaway settings in <code>purpose</code> (populated as specified above). </p>
|
||||
<p>Then:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>If the payment was made using the <a href="/method/payments.getPaymentForm">payments.getPaymentForm</a> or <a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a>/<a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a> payment flows, the giveaway will launch as soon as the payment is complete.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Otherwise, if the <a href="/api/config#premium-bot-username">Premium bot</a> or <a href="https://fragment.com">Fragment</a> flows were used, once the payment for the giveaway is made, invoke <a href="/method/premium.getBoostsStatus">premium.getBoostsStatus</a>, passing to <code>peer</code> the ID of the channel that we selected when paying for the giveaway, to obtain a <a href="/constructor/prepaidGiveaway">prepaidGiveaway</a> constructor in <a href="/constructor/premium.boostsStatus">premium.boostsStatus</a>.<code>prepaid_giveaways</code>, containing info about the prepaid giveaway. </p>
|
||||
<p>To actually launch the giveaway for the Fragment and bot flows, invoke <a href="/method/payments.launchPrepaidGiveaway">payments.launchPrepaidGiveaway</a>, passing <a href="/constructor/prepaidGiveaway">prepaidGiveaway</a>.<code>id</code> to <code>giveaway_id</code>, the ID of the channel to <code>peer</code> and giveaway settings in <code>purpose</code> (populated as specified above). </p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Finally:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>If the payment succeeds and we're launching a giveaway using <a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a>: a <a href="/constructor/messageActionGiveawayLaunch">messageActionGiveawayLaunch</a> service message and a media message containing a <a href="/constructor/messageMediaGiveaway">messageMediaGiveaway</a> will be sent to the channel. </p>
|
||||
<p>Once the giveaway is over, a <a href="/constructor/messageActionGiveawayResults">messageActionGiveawayResults</a> will be sent to the channel and the winners will automatically receive a <a href="/constructor/messageActionGiftCode">messageActionGiftCode</a> service message from Telegram's service user, containing the <code>slug</code> that can be used to generate a <a href="/api/links#premium-giftcode-links">giftcode link</a> to redeem the Premium subscription.<br>
|
||||
The <a href="/constructor/messageActionGiftCode">messageActionGiftCode</a>.<code>via_giveaway</code> flag will be set. </p>
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
|
||||
<a href='/method/contacts.getLocated'>contacts.getLocated</a>#d348bc44 flags:<a href='/type/%23'>#</a> background:flags.1?<a href='/constructor/true'>true</a> geo_point:<a href='/type/InputGeoPoint'>InputGeoPoint</a> self_expires:flags.0?<a href='/type/int'>int</a> = <a href='/type/Updates'>Updates</a>;</code></pre>
|
||||
<p>Our current location may be <a href="#fetching-nearby-users-and-geogroups">advertised to other users</a> using <a href="/method/contacts.getLocated">contacts.getLocated</a>: in this case the <code>self_expires</code> flag <strong>must always be set</strong>.</p>
|
||||
<p>This flag is used to specify the expiration TTL of the passed geolocation (i.e. the geolocation will expire after <code>self_expires</code> seconds); pass `0x7fffffff`` to disable expiry, 0 to make the current geolocation private. </p>
|
||||
<p>This flag is used to specify the expiration TTL of the passed geolocation (i.e. the geolocation will expire after <code>self_expires</code> seconds); pass <code>0x7fffffff</code> to disable expiry, 0 to make the current geolocation private. </p>
|
||||
<p>The method will also return a list of nearby users and chats, but only if the passed expiration TTL is not equal to zero.<br>
|
||||
Users may still fetch nearby users and chats without making their geolocation public by simply not setting the flag, see <a href="#fetching-nearby-users-and-geogroups">here »</a> for more info. </p>
|
||||
<p>While the geolocation of the current user is public, clients should update it in the background every half-an-hour or so (or in any case before the expiration date specified with <code>self_expires</code>), while setting this flag: if the new location is more than 1 KM away from the previous one, or if the previous location is unknown, the <code>background</code> flag should be set.</p></div>
|
||||
|
|
|
@ -121,7 +121,13 @@
|
|||
|
||||
<a href='/method/account.getGlobalPrivacySettings'>account.getGlobalPrivacySettings</a>#eb2b4cf6 = <a href='/type/GlobalPrivacySettings'>GlobalPrivacySettings</a>;
|
||||
<a href='/method/account.setGlobalPrivacySettings'>account.setGlobalPrivacySettings</a>#1edaaac2 settings:<a href='/type/GlobalPrivacySettings'>GlobalPrivacySettings</a> = <a href='/type/GlobalPrivacySettings'>GlobalPrivacySettings</a>;</code></pre>
|
||||
<p>Some global privacy settings can also be fetched and modified using <a href="/method/account.getGlobalPrivacySettings">account.getGlobalPrivacySettings</a> and <a href="/method/account.setGlobalPrivacySettings">account.setGlobalPrivacySettings</a>.</p></div>
|
||||
<p>Some global privacy settings can also be fetched and modified using <a href="/method/account.getGlobalPrivacySettings">account.getGlobalPrivacySettings</a> and <a href="/method/account.setGlobalPrivacySettings">account.setGlobalPrivacySettings</a>. </p>
|
||||
<p>Global privacy settings are represented by the <a href="/constructor/globalPrivacySettings">globalPrivacySettings</a> constructor, that contains the following parameters:</p>
|
||||
<ul>
|
||||
<li><strong>archive_and_mute_new_noncontact_peers</strong> - Whether to archive and mute new chats from non-contacts |</li>
|
||||
<li><strong>keep_archived_unmuted</strong> - Whether unmuted chats will be kept in the Archive chat list when they get a new message. |</li>
|
||||
<li><strong>keep_archived_folders</strong> - Whether unmuted chats that are always included or pinned in a <a href="/api/folders">folder</a>, will be kept in the Archive chat list when they get a new message. Ignored if <code>keep_archived_unmuted</code> is set.</li>
|
||||
</ul></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ To add new dialogs to the saved dialog list, simply forward messages from any no
|
|||
<p>Saving messages from private chats with users with forward privacy enabled will add them to a saved dialog entry of a special anonymous user with <code>id=2666000</code>. </p>
|
||||
<p>Sending (not forwarding from another dialog) new messages directly to ourselves will add them to a saved dialog entry with ourselves. </p>
|
||||
<p>A set of methods can then be used to obtain this dialog list, pin/unpin dialogs inside of it, view and remove messages from saved dialogs: <a href="/method/messages.getSavedDialogs">messages.getSavedDialogs</a>, <a href="/method/messages.getSavedHistory">messages.getSavedHistory</a>, <a href="/method/messages.deleteSavedHistory">messages.deleteSavedHistory</a>, <a href="/method/messages.getPinnedSavedDialogs">messages.getPinnedSavedDialogs</a>, <a href="/method/messages.toggleSavedDialogPin">messages.toggleSavedDialogPin</a>, <a href="/method/messages.reorderPinnedSavedDialogs">messages.reorderPinnedSavedDialogs</a> work just like their counterparts <a href="/method/messages.getDialogs">messages.getDialogs</a>, <a href="/method/messages.getHistory">messages.getHistory</a>, <a href="/method/messages.deleteHistory">messages.deleteHistory</a>, <a href="/method/messages.getPinnedDialogs">messages.getPinnedDialogs</a>, <a href="/method/messages.toggleDialogPin">messages.toggleDialogPin</a>, <a href="/method/messages.reorderPinnedDialogs">messages.reorderPinnedDialogs</a>, with the sole difference that they affect the saved dialog list, instead of the main dialog list. </p>
|
||||
<p>To search for messages within a saved dialog, use the usual <a href="/method/messages.search">messages.search</a>, <a href="/method/messages.search">messages.search</a>, <a href="/method/messages.getSearchResultsCalendar">messages.getSearchResultsCalendar</a>, <a href="/method/messages.getSearchResultsPositions">messages.getSearchResultsPositions</a> methods with <code>peer</code>=<a href="/constructor/inputPeerSelf">inputPeerSelf</a> and <code>saved_peer_id</code>=id of the saved dialog.</p></div>
|
||||
<p>To search for messages within a saved dialog, use the usual <a href="/method/messages.search">messages.search</a>, <a href="/method/messages.getSearchCounters">messages.getSearchCounters</a>, <a href="/method/messages.getSearchResultsCalendar">messages.getSearchResultsCalendar</a>, <a href="/method/messages.getSearchResultsPositions">messages.getSearchResultsPositions</a> methods with <code>peer</code>=<a href="/constructor/inputPeerSelf">inputPeerSelf</a> and <code>saved_peer_id</code>=id of the saved dialog.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -125,6 +125,21 @@ The returned <a href="/constructor/stats.broadcastStats">stats.broadcastStats</a
|
|||
The query must be sent to the datacenter with ID <code>channelFull.stats_dc</code>, obtainable using <a href="/method/channels.getFullChannel">channels.getFullChannel</a>.<br>
|
||||
The returned <a href="/constructor/stats.messageStats">stats.messageStats</a> contains the view graph of the message. </p>
|
||||
<p><a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a> may also be used to obtain a list of messages, indicating to which other public channels was a channel message forwarded: it will return a list of <a href="/constructor/message">messages</a> with <code>peer_id</code> equal to the public channel to which this message was forwarded.</p>
|
||||
<h3><a class="anchor" href="#story-statistics" id="story-statistics" name="story-statistics"><i class="anchor-icon"></i></a>Story statistics</h3>
|
||||
<pre><code><a href='/constructor/stats.storyStats'>stats.storyStats</a>#50cd067c views_graph:<a href='/type/StatsGraph'>StatsGraph</a> reactions_by_emotion_graph:<a href='/type/StatsGraph'>StatsGraph</a> = <a href='/type/stats.StoryStats'>stats.StoryStats</a>;
|
||||
|
||||
<a href='/constructor/publicForwardMessage'>publicForwardMessage</a>#1f2bf4a message:<a href='/type/Message'>Message</a> = <a href='/type/PublicForward'>PublicForward</a>;
|
||||
<a href='/constructor/publicForwardStory'>publicForwardStory</a>#edf3add0 peer:<a href='/type/Peer'>Peer</a> story:<a href='/type/StoryItem'>StoryItem</a> = <a href='/type/PublicForward'>PublicForward</a>;
|
||||
|
||||
<a href='/constructor/stats.publicForwards'>stats.publicForwards</a>#93037e20 flags:<a href='/type/%23'>#</a> count:<a href='/type/int'>int</a> forwards:<a href='/type/Vector%20t'>Vector</a><<a href='/type/PublicForward'>PublicForward</a>> next_offset:flags.0?<a href='/type/string'>string</a> chats:<a href='/type/Vector%20t'>Vector</a><<a href='/type/Chat'>Chat</a>> users:<a href='/type/Vector%20t'>Vector</a><<a href='/type/User'>User</a>> = <a href='/type/stats.PublicForwards'>stats.PublicForwards</a>;
|
||||
|
||||
---functions---
|
||||
|
||||
<a href='/method/stats.getStoryStats'>stats.getStoryStats</a>#374fef40 flags:<a href='/type/%23'>#</a> dark:flags.0?<a href='/constructor/true'>true</a> peer:<a href='/type/InputPeer'>InputPeer</a> id:<a href='/type/int'>int</a> = <a href='/type/stats.StoryStats'>stats.StoryStats</a>;
|
||||
|
||||
<a href='/method/stats.getStoryPublicForwards'>stats.getStoryPublicForwards</a>#a6437ef6 peer:<a href='/type/InputPeer'>InputPeer</a> id:<a href='/type/int'>int</a> offset:<a href='/type/string'>string</a> limit:<a href='/type/int'>int</a> = <a href='/type/stats.PublicForwards'>stats.PublicForwards</a>;</code></pre>
|
||||
<p>Use <a href="/method/stats.getStoryStats">stats.getStoryStats</a> to obtain statistics about a story. </p>
|
||||
<p>Use <a href="/method/stats.getStoryPublicForwards">stats.getStoryPublicForwards</a> to obtain forwards of a story as a message to public chats and reposts by public channels. </p>
|
||||
<h2><a class="anchor" href="#graph-visualization" id="graph-visualization" name="graph-visualization"><i class="anchor-icon"></i></a>Graph visualization</h2>
|
||||
<p>There are four available visualizations for graph types:</p>
|
||||
<ul>
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
The returned <a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a> constructor will have the <code>pending</code> flag set if the transcription is still in progress and the transcribed text contained in <code>text</code> will be updated in future with <a href="/constructor/updateTranscribedAudio">updateTranscribedAudio</a> updates.<br>
|
||||
These updates will contain the updated <code>text</code> with the same <code>transcription_id</code> returned in the first <a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a>, and the <code>pending</code> flag will be set if the transcription is still in progress. </p>
|
||||
<p>A transcription can then be rated as good or bad using <a href="/method/messages.rateTranscribedAudio">messages.rateTranscribedAudio</a>. </p>
|
||||
<p>Users without a <a href="/api/premium">Telegram Premium</a> subscription can only transcribe <a href="/api/config#transcribe-audio-trial-weekly-number">transcribe_audio_trial_weekly_number</a> messages per week, of maximum duration equal to <a href="/api/config#transcribe-audio-trial-duration-max">transcribe_audio_trial_duration_max</a> seconds.<br>
|
||||
<p>Users without a <a href="/api/premium">Telegram Premium</a> subscription can only transcribe <a href="/api/config#transcribe-audio-trial-weekly-number">transcribe_audio_trial_weekly_number</a> messages per week, each of maximum duration equal to <a href="/api/config#transcribe-audio-trial-duration-max">transcribe_audio_trial_duration_max</a> seconds.<br>
|
||||
For non-premium users, the <code>trial_remains_num</code> and <code>trial_remains_until_date</code> flags of <a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a> will also be set, indicating the remaining transcriptions, and the date when the <code>trial_remains_num</code> counter will be reset to the maximum value of <a href="/api/config#transcribe-audio-trial-weekly-number">transcribe_audio_trial_weekly_number</a>.</p></div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/contacts.getStatuses" >contacts.getStatuses</a></li></ul></div>
|
||||
<h1 id="dev_page_title">contacts.getStatuses</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Use this method to obtain the online statuses of all contacts with an accessible associated Telegram account.</p>
|
||||
<div id="dev_page_content"><p>Use this method to obtain the online statuses of all contacts with an accessible Telegram account.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
|
|
Loading…
Add table
Reference in a new issue