telegram-crawler/data/corefork.telegram.org/methods.html
2021-10-02 15:55:16 +00:00

2309 lines
86 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Methods</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Full list of MTProto API methods">
<meta property="og:title" content="Methods">
<meta property="og:image" content="">
<meta property="og:description" content="Full list of MTProto API methods">
<link rel="shortcut icon" href="/favicon.ico?4" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?212" rel="stylesheet" media="screen">
<style>
</style>
</head>
<body class="preload">
<div class="dev_page_wrap">
<div class="dev_page_head navbar navbar-static-top navbar-tg">
<div class="navbar-inner">
<div class="container clearfix">
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
<ul class="nav navbar-nav">
<li><a href="//telegram.org/">Home</a></li>
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
<li class="active"><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class=""><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >Methods</a></li></ul></div>
<h1 id="dev_page_title">Methods</h1>
<div id="dev_page_content"><h3><a class="anchor" href="#accepting-the-terms-of-service" id="accepting-the-terms-of-service" name="accepting-the-terms-of-service"><i class="anchor-icon"></i></a>Accepting the <a href="https://telegram.org/tos">Terms of Service</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.getTermsOfServiceUpdate">help.getTermsOfServiceUpdate</a></td>
<td>Look for updates of telegram's terms of service</td>
</tr>
<tr>
<td><a href="/method/help.acceptTermsOfService">help.acceptTermsOfService</a></td>
<td>Accept the new terms of service</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#dealing-with-spam-and-tos-violations" id="dealing-with-spam-and-tos-violations" name="dealing-with-spam-and-tos-violations"><i class="anchor-icon"></i></a>Dealing with spam and ToS violations</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.reportPeer">account.reportPeer</a></td>
<td>Report a peer for violation of telegram's Terms of Service</td>
</tr>
<tr>
<td><a href="/method/account.reportProfilePhoto">account.reportProfilePhoto</a></td>
<td>Report a profile photo of a dialog</td>
</tr>
<tr>
<td><a href="/method/channels.reportSpam">channels.reportSpam</a></td>
<td>Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup</td>
</tr>
<tr>
<td><a href="/method/messages.report">messages.report</a></td>
<td>Report a message in a chat for violation of telegram's Terms of Service</td>
</tr>
<tr>
<td><a href="/method/messages.reportSpam">messages.reportSpam</a></td>
<td>Report a new incoming chat for spam, if the <a href="/constructor/peerSettings">peer settings</a> of the chat allow us to do that</td>
</tr>
<tr>
<td><a href="/method/messages.reportEncryptedSpam">messages.reportEncryptedSpam</a></td>
<td>Report a secret chat for spam</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#fetching-configuration" id="fetching-configuration" name="fetching-configuration"><i class="anchor-icon"></i></a>Fetching <a href="/api/config">configuration</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.getAppChangelog">help.getAppChangelog</a></td>
<td>Get changelog of current app. <br>Typically, an <a href="/constructor/updates">updates</a> constructor will be returned, containing one or more <a href="/constructor/updateServiceNotification">updateServiceNotification</a> updates with app-specific changelogs.</td>
</tr>
<tr>
<td><a href="/method/help.getAppConfig">help.getAppConfig</a></td>
<td>Get app-specific configuration, see <a href="/api/config#client-configuration">client configuration</a> for more info on the result.</td>
</tr>
<tr>
<td><a href="/method/help.getAppUpdate">help.getAppUpdate</a></td>
<td>Returns information on update availability for the current application.</td>
</tr>
<tr>
<td><a href="/method/help.getConfig">help.getConfig</a></td>
<td>Returns current configuration, including data center configuration.</td>
</tr>
<tr>
<td><a href="/method/help.getInviteText">help.getInviteText</a></td>
<td>Returns localized text of a text message with an invitation.</td>
</tr>
<tr>
<td><a href="/method/help.getNearestDc">help.getNearestDc</a></td>
<td>Returns info on data centre nearest to the user.</td>
</tr>
<tr>
<td><a href="/method/help.getSupport">help.getSupport</a></td>
<td>Returns the support user for the 'ask a question' feature.</td>
</tr>
<tr>
<td><a href="/method/help.getSupportName">help.getSupportName</a></td>
<td>Get localized name of the telegram support user</td>
</tr>
<tr>
<td><a href="/method/help.getCountriesList">help.getCountriesList</a></td>
<td>Get name, ISO code, localized name and phone codes/patterns of all available countries</td>
</tr>
<tr>
<td><a href="/method/help.dismissSuggestion">help.dismissSuggestion</a></td>
<td>Dismiss a suggestion</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#login-via-qr-code" id="login-via-qr-code" name="login-via-qr-code"><i class="anchor-icon"></i></a>Login via <a href="/api/qr-login">QR code</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/auth.exportLoginToken">auth.exportLoginToken</a></td>
<td>Generate a login token, for <a href="/api/qr-login">login via QR code</a>. <br>The generated login token should be encoded using base64url, then shown as a <code>tg://login?token=base64encodedtoken</code> URL in the QR code.<br><br>For more info, see <a href="/api/qr-login">login via QR code</a>.</td>
</tr>
<tr>
<td><a href="/method/auth.acceptLoginToken">auth.acceptLoginToken</a></td>
<td>Accept QR code login token, logging in the app that generated it.<br><br>Returns info about the new session.<br><br>For more info, see <a href="/api/qr-login">login via QR code</a>.</td>
</tr>
<tr>
<td><a href="/method/auth.importLoginToken">auth.importLoginToken</a></td>
<td>Login using a redirected login token, generated in case of DC mismatch during <a href="/api/qr-login">QR code login</a>.<br><br>For more info, see <a href="/api/qr-login">login via QR code</a>.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#miscellaneous" id="miscellaneous" name="miscellaneous"><i class="anchor-icon"></i></a>Miscellaneous</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.saveAppLog">help.saveAppLog</a></td>
<td>Saves logs of application on the server.</td>
</tr>
<tr>
<td><a href="/method/initConnection">initConnection</a></td>
<td>Initialize connection</td>
</tr>
<tr>
<td><a href="/method/invokeAfterMsg">invokeAfterMsg</a></td>
<td>Invokes a query after successfull completion of one of the previous queries.</td>
</tr>
<tr>
<td><a href="/method/invokeAfterMsgs">invokeAfterMsgs</a></td>
<td>Invokes a query after a successfull completion of previous queries</td>
</tr>
<tr>
<td><a href="/method/invokeWithLayer">invokeWithLayer</a></td>
<td>Invoke the specified query using the specified API <a href="/api/invoking#layers">layer</a></td>
</tr>
<tr>
<td><a href="/method/invokeWithoutUpdates">invokeWithoutUpdates</a></td>
<td>Invoke a request without subscribing the used connection for <a href="/api/updates">updates</a> (this is enabled by default for <a href="/api/files">file queries</a>).</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#registrationauthorization" id="registrationauthorization" name="registrationauthorization"><i class="anchor-icon"></i></a>Registration/Authorization</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/auth.bindTempAuthKey">auth.bindTempAuthKey</a></td>
<td>Binds a temporary authorization key <code>temp_auth_key_id</code> to the permanent authorization key <code>perm_auth_key_id</code>. Each permanent key may only be bound to one temporary key at a time, binding a new temporary key overwrites the previous one.<br><br>For more information, see <a href="/api/pfs">Perfect Forward Secrecy</a>.</td>
</tr>
<tr>
<td><a href="/method/auth.cancelCode">auth.cancelCode</a></td>
<td>Cancel the login verification code</td>
</tr>
<tr>
<td><a href="/method/auth.checkPassword">auth.checkPassword</a></td>
<td>Try logging to an account protected by a <a href="/api/srp">2FA password</a>.</td>
</tr>
<tr>
<td><a href="/method/account.resetPassword">account.resetPassword</a></td>
<td>Initiate a 2FA password reset</td>
</tr>
<tr>
<td><a href="/method/auth.checkRecoveryPassword">auth.checkRecoveryPassword</a></td>
<td> </td>
</tr>
<tr>
<td><a href="/method/auth.dropTempAuthKeys">auth.dropTempAuthKeys</a></td>
<td>Delete all temporary authorization keys <strong>except for</strong> the ones specified</td>
</tr>
<tr>
<td><a href="/method/auth.exportAuthorization">auth.exportAuthorization</a></td>
<td>Returns data for copying authorization to another data-centre.</td>
</tr>
<tr>
<td><a href="/method/auth.importAuthorization">auth.importAuthorization</a></td>
<td>Logs in a user using a key transmitted from his native data-centre.</td>
</tr>
<tr>
<td><a href="/method/auth.importBotAuthorization">auth.importBotAuthorization</a></td>
<td>Login as a bot</td>
</tr>
<tr>
<td><a href="/method/auth.logOut">auth.logOut</a></td>
<td>Logs out the user.</td>
</tr>
<tr>
<td><a href="/method/auth.recoverPassword">auth.recoverPassword</a></td>
<td>Reset the <a href="/api/srp">2FA password</a> using the recovery code sent using <a href="/method/auth.requestPasswordRecovery">auth.requestPasswordRecovery</a>.</td>
</tr>
<tr>
<td><a href="/method/auth.requestPasswordRecovery">auth.requestPasswordRecovery</a></td>
<td>Request recovery code of a <a href="/api/srp">2FA password</a>, only for accounts with a <a href="/api/srp#email-verification">recovery email configured</a>.</td>
</tr>
<tr>
<td><a href="/method/auth.resendCode">auth.resendCode</a></td>
<td>Resend the login code via another medium, the phone code type is determined by the return value of the previous auth.sendCode/auth.resendCode: see <a href="/api/auth">login</a> for more info.</td>
</tr>
<tr>
<td><a href="/method/auth.resetAuthorizations">auth.resetAuthorizations</a></td>
<td>Terminates all user's authorized sessions except for the current one.<br><br>After calling this method it is necessary to reregister the current device using the method <a href="/method/account.registerDevice">account.registerDevice</a></td>
</tr>
<tr>
<td><a href="/method/auth.sendCode">auth.sendCode</a></td>
<td>Send the verification code for login</td>
</tr>
<tr>
<td><a href="/method/auth.signIn">auth.signIn</a></td>
<td>Signs in a user with a validated phone number.</td>
</tr>
<tr>
<td><a href="/method/auth.signUp">auth.signUp</a></td>
<td>Registers a validated phone number in the system.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-gdpr-export" id="working-with-gdpr-export" name="working-with-gdpr-export"><i class="anchor-icon"></i></a>Working with GDPR export</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.initTakeoutSession">account.initTakeoutSession</a></td>
<td>Intialize account takeout session</td>
</tr>
<tr>
<td><a href="/method/account.finishTakeoutSession">account.finishTakeoutSession</a></td>
<td>Finish account takeout session</td>
</tr>
<tr>
<td><a href="/method/messages.getSplitRanges">messages.getSplitRanges</a></td>
<td>Get message ranges for saving the user's chat history</td>
</tr>
<tr>
<td><a href="/method/channels.getLeftChannels">channels.getLeftChannels</a></td>
<td>Get a list of <a href="/api/channel">channels/supergroups</a> we left</td>
</tr>
<tr>
<td><a href="/method/invokeWithMessagesRange">invokeWithMessagesRange</a></td>
<td>Invoke with the given message range</td>
</tr>
<tr>
<td><a href="/method/invokeWithTakeout">invokeWithTakeout</a></td>
<td>Invoke a method within a takeout session</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-gifs-actually-mpeg4-gifs" id="working-with-gifs-actually-mpeg4-gifs" name="working-with-gifs-actually-mpeg4-gifs"><i class="anchor-icon"></i></a>Working with GIFs (actually MPEG4 GIFs)</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getSavedGifs">messages.getSavedGifs</a></td>
<td>Get saved GIFs</td>
</tr>
<tr>
<td><a href="/method/messages.saveGif">messages.saveGif</a></td>
<td>Add GIF to saved gifs list</td>
</tr>
<tr>
<td><a href="/method/messages.searchGifs">messages.searchGifs</a></td>
<td>Search for GIFs</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-public-service-announcement-and-mtproxy-channels" id="working-with-public-service-announcement-and-mtproxy-channels" name="working-with-public-service-announcement-and-mtproxy-channels"><i class="anchor-icon"></i></a>Working with Public Service Announcement and MTProxy channels</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.hidePromoData">help.hidePromoData</a></td>
<td>Hide MTProxy/Public Service Announcement information</td>
</tr>
<tr>
<td><a href="/method/help.getPromoData">help.getPromoData</a></td>
<td>Get MTProxy/Public Service Announcement information</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-tsf-internal-use-only" id="working-with-tsf-internal-use-only" name="working-with-tsf-internal-use-only"><i class="anchor-icon"></i></a>Working with TSF (internal use only)</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.editUserInfo">help.editUserInfo</a></td>
<td>Internal use</td>
</tr>
<tr>
<td><a href="/method/help.getUserInfo">help.getUserInfo</a></td>
<td>Internal use</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-2fa-login" id="working-with-2fa-login" name="working-with-2fa-login"><i class="anchor-icon"></i></a>Working with <a href="/api/srp">2FA login</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.confirmPasswordEmail">account.confirmPasswordEmail</a></td>
<td>Verify an email to use as <a href="/api/srp">2FA recovery method</a>.</td>
</tr>
<tr>
<td><a href="/method/account.resendPasswordEmail">account.resendPasswordEmail</a></td>
<td>Resend the code to verify an email to use as <a href="/api/srp">2FA recovery method</a>.</td>
</tr>
<tr>
<td><a href="/method/account.cancelPasswordEmail">account.cancelPasswordEmail</a></td>
<td>Cancel the code that was sent to verify an email to use as <a href="/api/srp">2FA recovery method</a>.</td>
</tr>
<tr>
<td><a href="/method/account.getPassword">account.getPassword</a></td>
<td>Obtain configuration for two-factor authorization with password</td>
</tr>
<tr>
<td><a href="/method/account.getPasswordSettings">account.getPasswordSettings</a></td>
<td>Get private info associated to the password info (recovery email, telegram <a href="/passport">passport</a> info &amp; so on)</td>
</tr>
<tr>
<td><a href="/method/account.updatePasswordSettings">account.updatePasswordSettings</a></td>
<td>Set a new 2FA password</td>
</tr>
<tr>
<td><a href="/method/account.declinePasswordReset">account.declinePasswordReset</a></td>
<td>Abort a pending 2FA password reset</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-seamless-telegram-login" id="working-with-seamless-telegram-login" name="working-with-seamless-telegram-login"><i class="anchor-icon"></i></a>Working with <a href="/api/url-authorization">Seamless Telegram Login</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.requestUrlAuth">messages.requestUrlAuth</a></td>
<td>Get more info about a Seamless Telegram Login authorization request, for more info <a href="/api/url-authorization">click here »</a></td>
</tr>
<tr>
<td><a href="/method/messages.acceptUrlAuth">messages.acceptUrlAuth</a></td>
<td>Use this to accept a Seamless Telegram Login authorization request, for more info <a href="/api/url-authorization">click here »</a></td>
</tr>
<tr>
<td><a href="/method/account.getWebAuthorizations">account.getWebAuthorizations</a></td>
<td>Get web <a href="/widgets/login">login widget</a> authorizations</td>
</tr>
<tr>
<td><a href="/method/account.resetWebAuthorization">account.resetWebAuthorization</a></td>
<td>Log out an active web <a href="/widgets/login">telegram login</a> session</td>
</tr>
<tr>
<td><a href="/method/account.resetWebAuthorizations">account.resetWebAuthorizations</a></td>
<td>Reset all active web <a href="/widgets/login">telegram login</a> sessions</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-voip-calls" id="working-with-voip-calls" name="working-with-voip-calls"><i class="anchor-icon"></i></a>Working with <a href="/api/end-to-end/voice-calls">VoIP calls</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/phone.acceptCall">phone.acceptCall</a></td>
<td>Accept incoming call</td>
</tr>
<tr>
<td><a href="/method/phone.confirmCall">phone.confirmCall</a></td>
<td><a href="/api/end-to-end/voice-calls">Complete phone call E2E encryption key exchange »</a></td>
</tr>
<tr>
<td><a href="/method/phone.discardCall">phone.discardCall</a></td>
<td>Refuse or end running call</td>
</tr>
<tr>
<td><a href="/method/phone.getCallConfig">phone.getCallConfig</a></td>
<td>Get phone call configuration to be passed to libtgvoip's shared config</td>
</tr>
<tr>
<td><a href="/method/phone.receivedCall">phone.receivedCall</a></td>
<td>Optional: notify the server that the user is currently busy in a call: this will automatically refuse all incoming phone calls until the current phone call is ended.</td>
</tr>
<tr>
<td><a href="/method/phone.requestCall">phone.requestCall</a></td>
<td>Start a telegram phone call</td>
</tr>
<tr>
<td><a href="/method/phone.saveCallDebug">phone.saveCallDebug</a></td>
<td>Send phone call debug data to server</td>
</tr>
<tr>
<td><a href="/method/phone.sendSignalingData">phone.sendSignalingData</a></td>
<td>Send VoIP signaling data</td>
</tr>
<tr>
<td><a href="/method/phone.setCallRating">phone.setCallRating</a></td>
<td>Rate a call</td>
</tr>
<tr>
<td><a href="/method/messages.deletePhoneCallHistory">messages.deletePhoneCallHistory</a></td>
<td>Delete the entire phone call history.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-channelssupergroupsgeogroups" id="working-with-channelssupergroupsgeogroups" name="working-with-channelssupergroupsgeogroups"><i class="anchor-icon"></i></a>Working with <a href="/api/channel">channels/supergroups/geogroups</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/channels.createChannel">channels.createChannel</a></td>
<td>Create a <a href="/api/channel">supergroup/channel</a>.</td>
</tr>
<tr>
<td><a href="/method/channels.getInactiveChannels">channels.getInactiveChannels</a></td>
<td>Get inactive channels and supergroups</td>
</tr>
<tr>
<td><a href="/method/channels.deleteChannel">channels.deleteChannel</a></td>
<td>Delete a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.deleteHistory">channels.deleteHistory</a></td>
<td>Delete the history of a <a href="/api/channel">supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.deleteMessages">channels.deleteMessages</a></td>
<td>Delete messages in a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.deleteUserHistory">channels.deleteUserHistory</a></td>
<td>Delete all messages sent by a certain user in a <a href="/api/channel">supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.editAdmin">channels.editAdmin</a></td>
<td>Modify the admin rights of a user in a <a href="/api/channel">supergroup/channel</a>.</td>
</tr>
<tr>
<td><a href="/method/channels.editBanned">channels.editBanned</a></td>
<td>Ban/unban/kick a user in a <a href="/api/channel">supergroup/channel</a>.</td>
</tr>
<tr>
<td><a href="/method/channels.editCreator">channels.editCreator</a></td>
<td>Transfer channel ownership</td>
</tr>
<tr>
<td><a href="/method/channels.editLocation">channels.editLocation</a></td>
<td>Edit location of geogroup</td>
</tr>
<tr>
<td><a href="/method/channels.editPhoto">channels.editPhoto</a></td>
<td>Change the photo of a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.editTitle">channels.editTitle</a></td>
<td>Edit the name of a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.exportMessageLink">channels.exportMessageLink</a></td>
<td>Get link and embed info of a message in a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.getAdminLog">channels.getAdminLog</a></td>
<td>Get the admin log of a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.getAdminedPublicChannels">channels.getAdminedPublicChannels</a></td>
<td>Get <a href="/api/channel">channels/supergroups/geogroups</a> we're admin in. Usually called when the user exceeds the <a href="/constructor/config">limit</a> for owned public <a href="/api/channel">channels/supergroups/geogroups</a>, and the user is given the choice to remove one of his channels/supergroups/geogroups.</td>
</tr>
<tr>
<td><a href="/method/channels.getChannels">channels.getChannels</a></td>
<td>Get info about <a href="/api/channel">channels/supergroups</a></td>
</tr>
<tr>
<td><a href="/method/channels.getFullChannel">channels.getFullChannel</a></td>
<td>Get full info about a channel</td>
</tr>
<tr>
<td><a href="/method/channels.getGroupsForDiscussion">channels.getGroupsForDiscussion</a></td>
<td>Get all groups that can be used as <a href="/api/discussion">discussion groups</a>.<br><br>Returned <a href="/api/channel">legacy group chats</a> must be first upgraded to <a href="/api/channel">supergroups</a> before they can be set as a discussion group. <br>To set a returned supergroup as a discussion group, access to its old messages must be enabled using <a href="/method/channels.togglePreHistoryHidden">channels.togglePreHistoryHidden</a>, first.</td>
</tr>
<tr>
<td><a href="/method/channels.getMessages">channels.getMessages</a></td>
<td>Get <a href="/api/channel">channel/supergroup</a> messages</td>
</tr>
<tr>
<td><a href="/method/channels.getParticipant">channels.getParticipant</a></td>
<td>Get info about a <a href="/api/channel">channel/supergroup</a> participant</td>
</tr>
<tr>
<td><a href="/method/channels.getParticipants">channels.getParticipants</a></td>
<td>Get the participants of a <a href="/api/channel">supergroup/channel</a></td>
</tr>
<tr>
<td><a href="/method/channels.inviteToChannel">channels.inviteToChannel</a></td>
<td>Invite users to a channel/supergroup</td>
</tr>
<tr>
<td><a href="/method/channels.joinChannel">channels.joinChannel</a></td>
<td>Join a channel/supergroup</td>
</tr>
<tr>
<td><a href="/method/channels.leaveChannel">channels.leaveChannel</a></td>
<td>Leave a <a href="/api/channel">channel/supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.readHistory">channels.readHistory</a></td>
<td>Mark <a href="/api/channel">channel/supergroup</a> history as read</td>
</tr>
<tr>
<td><a href="/method/channels.readMessageContents">channels.readMessageContents</a></td>
<td>Mark <a href="/api/channel">channel/supergroup</a> message contents as read</td>
</tr>
<tr>
<td><a href="/method/channels.setDiscussionGroup">channels.setDiscussionGroup</a></td>
<td>Associate a group to a channel as <a href="/api/discussion">discussion group</a> for that channel</td>
</tr>
<tr>
<td><a href="/method/channels.setStickers">channels.setStickers</a></td>
<td>Associate a stickerset to the supergroup</td>
</tr>
<tr>
<td><a href="/method/channels.togglePreHistoryHidden">channels.togglePreHistoryHidden</a></td>
<td>Hide/unhide message history for new channel/supergroup users</td>
</tr>
<tr>
<td><a href="/method/channels.toggleSignatures">channels.toggleSignatures</a></td>
<td>Enable/disable message signatures in channels</td>
</tr>
<tr>
<td><a href="/method/channels.toggleSlowMode">channels.toggleSlowMode</a></td>
<td>Toggle supergroup slow mode: if enabled, users will only be able to send one message every <code>seconds</code> seconds</td>
</tr>
<tr>
<td><a href="/method/messages.getStatsURL">messages.getStatsURL</a></td>
<td>Returns URL with the chat statistics. Currently this method can be used only for channels</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-chatssupergroupschannels" id="working-with-chatssupergroupschannels" name="working-with-chatssupergroupschannels"><i class="anchor-icon"></i></a>Working with <a href="/api/channel">chats/supergroups/channels</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getMessageReadParticipants">messages.getMessageReadParticipants</a></td>
<td>Get which users read a specific message</td>
</tr>
<tr>
<td><a href="/method/messages.addChatUser">messages.addChatUser</a></td>
<td>Adds a user to a chat and sends a service message on it.</td>
</tr>
<tr>
<td><a href="/method/messages.checkChatInvite">messages.checkChatInvite</a></td>
<td>Check the validity of a chat invite link and get basic info about it</td>
</tr>
<tr>
<td><a href="/method/messages.createChat">messages.createChat</a></td>
<td>Creates a new chat.</td>
</tr>
<tr>
<td><a href="/method/messages.deleteChatUser">messages.deleteChatUser</a></td>
<td>Deletes a user from a chat and sends a service message on it.</td>
</tr>
<tr>
<td><a href="/method/messages.editChatAbout">messages.editChatAbout</a></td>
<td>Edit the description of a <a href="/api/channel">group/supergroup/channel</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.editChatAdmin">messages.editChatAdmin</a></td>
<td>Make a user admin in a <a href="/api/channel">legacy group</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.editChatDefaultBannedRights">messages.editChatDefaultBannedRights</a></td>
<td>Edit the default banned rights of a <a href="/api/channel">channel/supergroup/group</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.editChatPhoto">messages.editChatPhoto</a></td>
<td>Changes chat photo and sends a service message on it</td>
</tr>
<tr>
<td><a href="/method/messages.editChatTitle">messages.editChatTitle</a></td>
<td>Chanages chat name and sends a service message on it.</td>
</tr>
<tr>
<td><a href="/method/messages.exportChatInvite">messages.exportChatInvite</a></td>
<td>Export an invite link for a chat</td>
</tr>
<tr>
<td><a href="/method/messages.getAllChats">messages.getAllChats</a></td>
<td>Get all chats, channels and supergroups</td>
</tr>
<tr>
<td><a href="/method/messages.getChats">messages.getChats</a></td>
<td>Returns chat basic info on their IDs.</td>
</tr>
<tr>
<td><a href="/method/messages.getAdminsWithInvites">messages.getAdminsWithInvites</a></td>
<td>Get info about chat invites generated by admins.</td>
</tr>
<tr>
<td><a href="/method/messages.deleteExportedChatInvite">messages.deleteExportedChatInvite</a></td>
<td>Delete a chat invite</td>
</tr>
<tr>
<td><a href="/method/messages.getChatInviteImporters">messages.getChatInviteImporters</a></td>
<td>Get info about the users that joined the chat using a specific chat invite</td>
</tr>
<tr>
<td><a href="/method/messages.deleteRevokedExportedChatInvites">messages.deleteRevokedExportedChatInvites</a></td>
<td>Delete all revoked chat invites</td>
</tr>
<tr>
<td><a href="/method/messages.deleteChat">messages.deleteChat</a></td>
<td>Delete a <a href="/api/channel">chat</a></td>
</tr>
<tr>
<td><a href="/method/messages.getCommonChats">messages.getCommonChats</a></td>
<td>Get chats in common with a user</td>
</tr>
<tr>
<td><a href="/method/messages.getFullChat">messages.getFullChat</a></td>
<td>Returns full chat info according to its ID.</td>
</tr>
<tr>
<td><a href="/method/messages.importChatInvite">messages.importChatInvite</a></td>
<td>Import a chat invite and join a private chat/supergroup/channel</td>
</tr>
<tr>
<td><a href="/method/messages.getExportedChatInvite">messages.getExportedChatInvite</a></td>
<td>Get info about a chat invite</td>
</tr>
<tr>
<td><a href="/method/messages.editExportedChatInvite">messages.editExportedChatInvite</a></td>
<td>Edit an exported chat invite</td>
</tr>
<tr>
<td><a href="/method/messages.getExportedChatInvites">messages.getExportedChatInvites</a></td>
<td>Get info about the chat invites of a specific chat</td>
</tr>
<tr>
<td><a href="/method/messages.migrateChat">messages.migrateChat</a></td>
<td>Turn a <a href="/api/channel">legacy group into a supergroup</a></td>
</tr>
<tr>
<td><a href="/method/channels.convertToGigagroup">channels.convertToGigagroup</a></td>
<td>Convert a <a href="/api/channel">supergroup</a> to a <a href="/api/channel">gigagroup</a></td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-deep-links" id="working-with-deep-links" name="working-with-deep-links"><i class="anchor-icon"></i></a>Working with <a href="/bots#deep-linking">deep links</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.startBot">messages.startBot</a></td>
<td>Start a conversation with a bot using a <a href="/bots#deep-linking">deep linking parameter</a></td>
</tr>
<tr>
<td><a href="/method/help.getDeepLinkInfo">help.getDeepLinkInfo</a></td>
<td>Get info about a <code>t.me</code> link</td>
</tr>
<tr>
<td><a href="/method/help.getRecentMeUrls">help.getRecentMeUrls</a></td>
<td>Get recently used <code>t.me</code> links</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-files" id="working-with-files" name="working-with-files"><i class="anchor-icon"></i></a>Working with <a href="/api/files">files</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.getCdnConfig">help.getCdnConfig</a></td>
<td>Get configuration for <a href="/cdn">CDN</a> file downloads.</td>
</tr>
<tr>
<td><a href="/method/upload.getCdnFile">upload.getCdnFile</a></td>
<td>Download a <a href="/cdn">CDN</a> file.</td>
</tr>
<tr>
<td><a href="/method/upload.getCdnFileHashes">upload.getCdnFileHashes</a></td>
<td>Get SHA256 hashes for verifying downloaded <a href="/cdn">CDN</a> files</td>
</tr>
<tr>
<td><a href="/method/upload.reuploadCdnFile">upload.reuploadCdnFile</a></td>
<td>Request a reupload of a certain file to a <a href="/cdn">CDN DC</a>.</td>
</tr>
<tr>
<td><a href="/method/upload.getFile">upload.getFile</a></td>
<td>Returns content of a whole file or its part.</td>
</tr>
<tr>
<td><a href="/method/upload.getFileHashes">upload.getFileHashes</a></td>
<td>Get SHA256 hashes for verifying downloaded files</td>
</tr>
<tr>
<td><a href="/method/upload.getWebFile">upload.getWebFile</a></td>
<td>Returns content of an HTTP file or a part, by proxying the request through telegram.</td>
</tr>
<tr>
<td><a href="/method/upload.saveBigFilePart">upload.saveBigFilePart</a></td>
<td>Saves a part of a large file (over 10Mb in size) to be later passed to one of the methods.</td>
</tr>
<tr>
<td><a href="/method/upload.saveFilePart">upload.saveFilePart</a></td>
<td>Saves a part of file for futher sending to one of the methods.</td>
</tr>
<tr>
<td><a href="/method/messages.uploadEncryptedFile">messages.uploadEncryptedFile</a></td>
<td>Upload encrypted file and associate it to a secret chat</td>
</tr>
<tr>
<td><a href="/method/messages.uploadMedia">messages.uploadMedia</a></td>
<td>Upload a file and associate it to a chat (without actually sending it to the chat)</td>
</tr>
<tr>
<td><a href="/method/messages.getDocumentByHash">messages.getDocumentByHash</a></td>
<td>Get a document by its SHA256 hash, mainly used for gifs</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-instant-view-pages" id="working-with-instant-view-pages" name="working-with-instant-view-pages"><i class="anchor-icon"></i></a>Working with <a href="https://instantview.telegram.org">instant view pages</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getWebPage">messages.getWebPage</a></td>
<td>Get <a href="https://instantview.telegram.org">instant view</a> page</td>
</tr>
<tr>
<td><a href="/method/messages.getWebPagePreview">messages.getWebPagePreview</a></td>
<td>Get preview of webpage</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-secret-chats" id="working-with-secret-chats" name="working-with-secret-chats"><i class="anchor-icon"></i></a>Working with <a href="/api/end-to-end">secret chats</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.setEncryptedTyping">messages.setEncryptedTyping</a></td>
<td>Send typing event by the current user to a secret chat.</td>
</tr>
<tr>
<td><a href="/method/messages.readEncryptedHistory">messages.readEncryptedHistory</a></td>
<td>Marks message history within a secret chat as read.</td>
</tr>
<tr>
<td><a href="/method/messages.acceptEncryption">messages.acceptEncryption</a></td>
<td>Confirms creation of a secret chat</td>
</tr>
<tr>
<td><a href="/method/messages.discardEncryption">messages.discardEncryption</a></td>
<td>Cancels a request for creation and/or delete info on secret chat.</td>
</tr>
<tr>
<td><a href="/method/messages.requestEncryption">messages.requestEncryption</a></td>
<td>Sends a request to start a secret chat to the user.</td>
</tr>
<tr>
<td><a href="/method/messages.sendEncrypted">messages.sendEncrypted</a></td>
<td>Sends a text message to a secret chat.</td>
</tr>
<tr>
<td><a href="/method/messages.sendEncryptedFile">messages.sendEncryptedFile</a></td>
<td>Sends a message with a file attachment to a secret chat</td>
</tr>
<tr>
<td><a href="/method/messages.sendEncryptedService">messages.sendEncryptedService</a></td>
<td>Sends a service message to a secret chat.</td>
</tr>
<tr>
<td><a href="/method/messages.getDhConfig">messages.getDhConfig</a></td>
<td>Returns configuration parameters for Diffie-Hellman key generation. Can also return a random sequence of bytes of required length.</td>
</tr>
<tr>
<td><a href="/method/messages.receivedQueue">messages.receivedQueue</a></td>
<td>Confirms receipt of messages in a secret chat by client, cancels push notifications.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-telegram-passport" id="working-with-telegram-passport" name="working-with-telegram-passport"><i class="anchor-icon"></i></a>Working with <a href="/passport">telegram passport</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.sendVerifyEmailCode">account.sendVerifyEmailCode</a></td>
<td>Send the verification email code for telegram <a href="/passport">passport</a>.</td>
</tr>
<tr>
<td><a href="/method/account.verifyEmail">account.verifyEmail</a></td>
<td>Verify an email address for telegram <a href="/passport">passport</a>.</td>
</tr>
<tr>
<td><a href="/method/account.sendVerifyPhoneCode">account.sendVerifyPhoneCode</a></td>
<td>Send the verification phone code for telegram <a href="/passport">passport</a>.</td>
</tr>
<tr>
<td><a href="/method/account.verifyPhone">account.verifyPhone</a></td>
<td>Verify a phone number for telegram <a href="/passport">passport</a>.</td>
</tr>
<tr>
<td><a href="/method/account.acceptAuthorization">account.acceptAuthorization</a></td>
<td>Sends a Telegram Passport authorization form, effectively sharing data with the service</td>
</tr>
<tr>
<td><a href="/method/account.getAuthorizationForm">account.getAuthorizationForm</a></td>
<td>Returns a Telegram Passport authorization form for sharing data with a service</td>
</tr>
<tr>
<td><a href="/method/account.getAuthorizations">account.getAuthorizations</a></td>
<td>Get logged-in sessions</td>
</tr>
<tr>
<td><a href="/method/account.deleteSecureValue">account.deleteSecureValue</a></td>
<td>Delete stored <a href="/passport">Telegram Passport</a> documents, <a href="/passport/encryption#encryption">for more info see the passport docs »</a></td>
</tr>
<tr>
<td><a href="/method/account.getAllSecureValues">account.getAllSecureValues</a></td>
<td>Get all saved <a href="/passport">Telegram Passport</a> documents, <a href="/passport/encryption#encryption">for more info see the passport docs »</a></td>
</tr>
<tr>
<td><a href="/method/account.getSecureValue">account.getSecureValue</a></td>
<td>Get saved <a href="/passport">Telegram Passport</a> document, <a href="/passport/encryption#encryption">for more info see the passport docs »</a></td>
</tr>
<tr>
<td><a href="/method/account.saveSecureValue">account.saveSecureValue</a></td>
<td>Securely save <a href="/passport">Telegram Passport</a> document, <a href="/passport/encryption#encryption">for more info see the passport docs »</a></td>
</tr>
<tr>
<td><a href="/method/help.getPassportConfig">help.getPassportConfig</a></td>
<td>Get <a href="/passport">passport</a> configuration</td>
</tr>
<tr>
<td><a href="/method/users.setSecureValueErrors">users.setSecureValueErrors</a></td>
<td>Notify the user that the sent <a href="/passport">passport</a> data contains some errors The user will not be able to re-submit their Passport data to you until the errors are fixed (the contents of the field for which you returned the error must change).<br><br>Use this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-updates" id="working-with-updates" name="working-with-updates"><i class="anchor-icon"></i></a>Working with <a href="/api/updates">updates</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/updates.getChannelDifference">updates.getChannelDifference</a></td>
<td>Returns the difference between the current state of updates of a certain channel and transmitted.</td>
</tr>
<tr>
<td><a href="/method/updates.getDifference">updates.getDifference</a></td>
<td>Get new <a href="/api/updates">updates</a>.</td>
</tr>
<tr>
<td><a href="/method/updates.getState">updates.getState</a></td>
<td>Returns a current state of updates.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-bot-inline-queries-and-callback-buttons" id="working-with-bot-inline-queries-and-callback-buttons" name="working-with-bot-inline-queries-and-callback-buttons"><i class="anchor-icon"></i></a>Working with bot inline queries and callback buttons</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getInlineBotResults">messages.getInlineBotResults</a></td>
<td>Query an inline bot</td>
</tr>
<tr>
<td><a href="/method/messages.setInlineBotResults">messages.setInlineBotResults</a></td>
<td>Answer an inline query, for bots only</td>
</tr>
<tr>
<td><a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></td>
<td>Send a result obtained using <a href="/method/messages.getInlineBotResults">messages.getInlineBotResults</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.getBotCallbackAnswer">messages.getBotCallbackAnswer</a></td>
<td>Press an inline callback button and get a callback answer from the bot</td>
</tr>
<tr>
<td><a href="/method/messages.setBotCallbackAnswer">messages.setBotCallbackAnswer</a></td>
<td>Set the callback answer to a user button press (bots only)</td>
</tr>
<tr>
<td><a href="/method/messages.editInlineBotMessage">messages.editInlineBotMessage</a></td>
<td>Edit an inline bot message</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-bots" id="working-with-bots" name="working-with-bots"><i class="anchor-icon"></i></a>Working with bots</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/bots.resetBotCommands">bots.resetBotCommands</a></td>
<td>Clear bot commands for the specified bot scope and language code</td>
</tr>
<tr>
<td><a href="/method/bots.getBotCommands">bots.getBotCommands</a></td>
<td>Obtain a list of bot commands for the specified bot scope and language code</td>
</tr>
<tr>
<td><a href="/method/bots.setBotCommands">bots.setBotCommands</a></td>
<td>Set bot command list</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-bots-internal-bot-api-use" id="working-with-bots-internal-bot-api-use" name="working-with-bots-internal-bot-api-use"><i class="anchor-icon"></i></a>Working with bots (internal bot API use)</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/bots.answerWebhookJSONQuery">bots.answerWebhookJSONQuery</a></td>
<td>Answers a custom query; for bots only</td>
</tr>
<tr>
<td><a href="/method/bots.sendCustomRequest">bots.sendCustomRequest</a></td>
<td>Sends a custom request; for bots only</td>
</tr>
<tr>
<td><a href="/method/help.setBotUpdatesStatus">help.setBotUpdatesStatus</a></td>
<td>Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-cloud-themes" id="working-with-cloud-themes" name="working-with-cloud-themes"><i class="anchor-icon"></i></a>Working with cloud themes</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.updateTheme">account.updateTheme</a></td>
<td>Update theme</td>
</tr>
<tr>
<td><a href="/method/account.uploadTheme">account.uploadTheme</a></td>
<td>Upload theme</td>
</tr>
<tr>
<td><a href="/method/account.getThemes">account.getThemes</a></td>
<td>Get installed themes</td>
</tr>
<tr>
<td><a href="/method/account.createTheme">account.createTheme</a></td>
<td>Create a theme</td>
</tr>
<tr>
<td><a href="/method/account.installTheme">account.installTheme</a></td>
<td>Install a theme</td>
</tr>
<tr>
<td><a href="/method/account.saveTheme">account.saveTheme</a></td>
<td>Save a theme</td>
</tr>
<tr>
<td><a href="/method/account.getTheme">account.getTheme</a></td>
<td>Get theme information</td>
</tr>
<tr>
<td><a href="/method/account.getChatThemes">account.getChatThemes</a></td>
<td>Get all available chat themes</td>
</tr>
<tr>
<td><a href="/method/messages.setChatTheme">messages.setChatTheme</a></td>
<td>Change the chat theme of a certain chat</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-contacts-and-top-peers" id="working-with-contacts-and-top-peers" name="working-with-contacts-and-top-peers"><i class="anchor-icon"></i></a>Working with contacts and <a href="/api/top-rating">top peers</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.getContactSignUpNotification">account.getContactSignUpNotification</a></td>
<td>Whether the user will receive notifications when contacts sign up</td>
</tr>
<tr>
<td><a href="/method/account.setContactSignUpNotification">account.setContactSignUpNotification</a></td>
<td>Toggle contact sign up notifications</td>
</tr>
<tr>
<td><a href="/method/contacts.acceptContact">contacts.acceptContact</a></td>
<td>If the <a href="/constructor/peerSettings">peer settings</a> of a new user allow us to add him as contact, add that user as contact</td>
</tr>
<tr>
<td><a href="/method/contacts.addContact">contacts.addContact</a></td>
<td>Add an existing telegram user as contact.<br><br>Use <a href="/method/contacts.importContacts">contacts.importContacts</a> to add contacts by phone number, without knowing their Telegram ID.</td>
</tr>
<tr>
<td><a href="/method/contacts.block">contacts.block</a></td>
<td>Adds the user to the blacklist.</td>
</tr>
<tr>
<td><a href="/method/contacts.deleteByPhones">contacts.deleteByPhones</a></td>
<td>Delete contacts by phone number</td>
</tr>
<tr>
<td><a href="/method/contacts.deleteContacts">contacts.deleteContacts</a></td>
<td>Deletes several contacts from the list.</td>
</tr>
<tr>
<td><a href="/method/contacts.getBlocked">contacts.getBlocked</a></td>
<td>Returns the list of blocked users.</td>
</tr>
<tr>
<td><a href="/method/contacts.getContactIDs">contacts.getContactIDs</a></td>
<td>Get contact by telegram IDs</td>
</tr>
<tr>
<td><a href="/method/contacts.getContacts">contacts.getContacts</a></td>
<td>Returns the current user's contact list.</td>
</tr>
<tr>
<td><a href="/method/contacts.getLocated">contacts.getLocated</a></td>
<td>Get contacts near you</td>
</tr>
<tr>
<td><a href="/method/contacts.getSaved">contacts.getSaved</a></td>
<td>Get all contacts</td>
</tr>
<tr>
<td><a href="/method/contacts.getStatuses">contacts.getStatuses</a></td>
<td>Returns the list of contact statuses.</td>
</tr>
<tr>
<td><a href="/method/contacts.getTopPeers">contacts.getTopPeers</a></td>
<td>Get most used peers</td>
</tr>
<tr>
<td><a href="/method/contacts.importContacts">contacts.importContacts</a></td>
<td>Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info.<br><br>Use <a href="/method/contacts.addContact">contacts.addContact</a> to add Telegram contacts without actually using their phone number.</td>
</tr>
<tr>
<td><a href="/method/contacts.resetSaved">contacts.resetSaved</a></td>
<td>Delete saved contacts</td>
</tr>
<tr>
<td><a href="/method/contacts.resetTopPeerRating">contacts.resetTopPeerRating</a></td>
<td>Reset <a href="/api/top-rating">rating</a> of top peer</td>
</tr>
<tr>
<td><a href="/method/contacts.search">contacts.search</a></td>
<td>Returns users found by username substring.</td>
</tr>
<tr>
<td><a href="/method/contacts.toggleTopPeers">contacts.toggleTopPeers</a></td>
<td>Enable/disable <a href="/api/top-rating">top peers</a></td>
</tr>
<tr>
<td><a href="/method/contacts.unblock">contacts.unblock</a></td>
<td>Deletes the user from the blacklist.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-credit-cards" id="working-with-credit-cards" name="working-with-credit-cards"><i class="anchor-icon"></i></a>Working with credit cards</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/payments.getBankCardData">payments.getBankCardData</a></td>
<td>Get info about a credit card</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-dialogs" id="working-with-dialogs" name="working-with-dialogs"><i class="anchor-icon"></i></a>Working with dialogs</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getDialogs">messages.getDialogs</a></td>
<td>Returns the current user dialog list.</td>
</tr>
<tr>
<td><a href="/method/messages.getPeerDialogs">messages.getPeerDialogs</a></td>
<td>Get dialog info of specified peers</td>
</tr>
<tr>
<td><a href="/method/messages.getPinnedDialogs">messages.getPinnedDialogs</a></td>
<td>Get pinned dialogs</td>
</tr>
<tr>
<td><a href="/method/messages.toggleDialogPin">messages.toggleDialogPin</a></td>
<td>Pin/unpin a dialog</td>
</tr>
<tr>
<td><a href="/method/messages.reorderPinnedDialogs">messages.reorderPinnedDialogs</a></td>
<td>Reorder pinned dialogs</td>
</tr>
<tr>
<td><a href="/method/messages.getDialogUnreadMarks">messages.getDialogUnreadMarks</a></td>
<td>Get dialogs manually marked as unread</td>
</tr>
<tr>
<td><a href="/method/messages.markDialogUnread">messages.markDialogUnread</a></td>
<td>Manually mark dialog as unread</td>
</tr>
<tr>
<td><a href="/method/messages.getPeerSettings">messages.getPeerSettings</a></td>
<td>Get peer settings</td>
</tr>
<tr>
<td><a href="/method/messages.hidePeerSettingsBar">messages.hidePeerSettingsBar</a></td>
<td>Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the <a href="/constructor/peerSettings">peer's settings</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.getOnlines">messages.getOnlines</a></td>
<td>Get count of online users in a chat</td>
</tr>
<tr>
<td><a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a></td>
<td>Notify the other user in a private chat that a screenshot of the chat was taken</td>
</tr>
<tr>
<td><a href="/method/messages.setTyping">messages.setTyping</a></td>
<td>Sends a current user typing event (see <a href="/type/SendMessageAction">SendMessageAction</a> for all event types) to a conversation partner or group.</td>
</tr>
<tr>
<td><a href="/method/messages.setHistoryTTL">messages.setHistoryTTL</a></td>
<td>Set maximum Time-To-Live of all messages in the specified chat</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-drafts" id="working-with-drafts" name="working-with-drafts"><i class="anchor-icon"></i></a>Working with drafts</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.clearAllDrafts">messages.clearAllDrafts</a></td>
<td>Clear all <a href="/api/drafts">drafts</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.getAllDrafts">messages.getAllDrafts</a></td>
<td>Save get all message <a href="/api/drafts">drafts</a>.</td>
</tr>
<tr>
<td><a href="/method/messages.saveDraft">messages.saveDraft</a></td>
<td>Save a message <a href="/api/drafts">draft</a> associated to a chat.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-emoji-keywords" id="working-with-emoji-keywords" name="working-with-emoji-keywords"><i class="anchor-icon"></i></a>Working with emoji keywords</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getEmojiKeywords">messages.getEmojiKeywords</a></td>
<td>Get localized emoji keywords</td>
</tr>
<tr>
<td><a href="/method/messages.getEmojiKeywordsDifference">messages.getEmojiKeywordsDifference</a></td>
<td>Get changed emoji keywords</td>
</tr>
<tr>
<td><a href="/method/messages.getEmojiKeywordsLanguages">messages.getEmojiKeywordsLanguages</a></td>
<td>Get info about an emoji keyword localization</td>
</tr>
<tr>
<td><a href="/method/messages.getEmojiURL">messages.getEmojiURL</a></td>
<td>Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-folders" id="working-with-folders" name="working-with-folders"><i class="anchor-icon"></i></a>Working with folders</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.updateDialogFiltersOrder">messages.updateDialogFiltersOrder</a></td>
<td>Reorder <a href="/api/folders">folders</a></td>
</tr>
<tr>
<td><a href="/method/messages.getDialogFilters">messages.getDialogFilters</a></td>
<td>Get <a href="/api/folders">folders</a></td>
</tr>
<tr>
<td><a href="/method/messages.getSuggestedDialogFilters">messages.getSuggestedDialogFilters</a></td>
<td>Get <a href="/api/folders">suggested folders</a></td>
</tr>
<tr>
<td><a href="/method/messages.updateDialogFilter">messages.updateDialogFilter</a></td>
<td>Update <a href="/api/folders">folder</a></td>
</tr>
<tr>
<td><a href="/method/folders.deleteFolder">folders.deleteFolder</a></td>
<td>Delete a <a href="/api/folders#peer-folders">peer folder</a></td>
</tr>
<tr>
<td><a href="/method/folders.editPeerFolders">folders.editPeerFolders</a></td>
<td>Edit peers in <a href="/api/folders#peer-folders">peer folder</a></td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-games" id="working-with-games" name="working-with-games"><i class="anchor-icon"></i></a>Working with games</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getGameHighScores">messages.getGameHighScores</a></td>
<td>Get highscores of a game</td>
</tr>
<tr>
<td><a href="/method/messages.getInlineGameHighScores">messages.getInlineGameHighScores</a></td>
<td>Get highscores of a game sent using an inline bot</td>
</tr>
<tr>
<td><a href="/method/messages.setGameScore">messages.setGameScore</a></td>
<td>Use this method to set the score of the specified user in a game sent as a normal message (bots only).</td>
</tr>
<tr>
<td><a href="/method/messages.setInlineGameScore">messages.setInlineGameScore</a></td>
<td>Use this method to set the score of the specified user in a game sent as an inline message (bots only).</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-group-calls--live-streaming" id="working-with-group-calls--live-streaming" name="working-with-group-calls--live-streaming"><i class="anchor-icon"></i></a>Working with group calls &amp; live streaming</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/phone.exportGroupCallInvite">phone.exportGroupCallInvite</a></td>
<td>Get an invite link for a group call or livestream</td>
</tr>
<tr>
<td><a href="/method/phone.getGroupCallJoinAs">phone.getGroupCallJoinAs</a></td>
<td>Get a list of peers that can be used to join a group call, presenting yourself as a specific user/channel.</td>
</tr>
<tr>
<td><a href="/method/phone.editGroupCallParticipant">phone.editGroupCallParticipant</a></td>
<td>Edit information about a given group call participant<br><br>Note: <a href="/mtproto/TL-combinators#conditional-fields">flags</a>.N?<a href="/type/Bool">Bool</a> parameters can have three possible values:<br><br>- If the <a href="/mtproto/TL-combinators#conditional-fields">TL flag</a> is not set, the previous value will not be changed.<br>- If the <a href="/mtproto/TL-combinators#conditional-fields">TL flag</a> is set and contains a <a href="/constructor/boolTrue">boolTrue</a>, the previous value will be overwritten to <code>true</code>.<br>- If the <a href="/mtproto/TL-combinators#conditional-fields">TL flag</a> is set and contains a <a href="/constructor/boolFalse">boolFalse</a>, the previous value will be overwritten to <code>false</code>.</td>
</tr>
<tr>
<td><a href="/method/phone.toggleGroupCallRecord">phone.toggleGroupCallRecord</a></td>
<td>Start or stop recording a group call</td>
</tr>
<tr>
<td><a href="/method/phone.editGroupCallTitle">phone.editGroupCallTitle</a></td>
<td>Edit the title of a group call or livestream</td>
</tr>
<tr>
<td><a href="/method/phone.getGroupParticipants">phone.getGroupParticipants</a></td>
<td>Get group call participants</td>
</tr>
<tr>
<td><a href="/method/phone.checkGroupCall">phone.checkGroupCall</a></td>
<td> </td>
</tr>
<tr>
<td><a href="/method/phone.createGroupCall">phone.createGroupCall</a></td>
<td>Create a group call or livestream</td>
</tr>
<tr>
<td><a href="/method/phone.toggleGroupCallStartSubscription">phone.toggleGroupCallStartSubscription</a></td>
<td>Subscribe or unsubscribe to a scheduled group call</td>
</tr>
<tr>
<td><a href="/method/phone.leaveGroupCall">phone.leaveGroupCall</a></td>
<td>Leave a group call</td>
</tr>
<tr>
<td><a href="/method/phone.toggleGroupCallSettings">phone.toggleGroupCallSettings</a></td>
<td>Change group call settings</td>
</tr>
<tr>
<td><a href="/method/phone.inviteToGroupCall">phone.inviteToGroupCall</a></td>
<td>Invite a set of users to a group call.</td>
</tr>
<tr>
<td><a href="/method/phone.getGroupCall">phone.getGroupCall</a></td>
<td>Get info about a group call</td>
</tr>
<tr>
<td><a href="/method/phone.joinGroupCall">phone.joinGroupCall</a></td>
<td>Join a group call</td>
</tr>
<tr>
<td><a href="/method/phone.leaveGroupCallPresentation">phone.leaveGroupCallPresentation</a></td>
<td>Stop screen sharing in a group call</td>
</tr>
<tr>
<td><a href="/method/phone.discardGroupCall">phone.discardGroupCall</a></td>
<td>Terminate a group call</td>
</tr>
<tr>
<td><a href="/method/phone.joinGroupCallPresentation">phone.joinGroupCallPresentation</a></td>
<td>Start screen sharing in a call</td>
</tr>
<tr>
<td><a href="/method/phone.startScheduledGroupCall">phone.startScheduledGroupCall</a></td>
<td>Start a scheduled group call.</td>
</tr>
<tr>
<td><a href="/method/phone.saveDefaultGroupCallJoinAs">phone.saveDefaultGroupCallJoinAs</a></td>
<td>Set the default peer that will be used to join a group call in a specific dialog.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-imported-chats" id="working-with-imported-chats" name="working-with-imported-chats"><i class="anchor-icon"></i></a>Working with imported chats</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.uploadImportedMedia">messages.uploadImportedMedia</a></td>
<td> </td>
</tr>
<tr>
<td><a href="/method/messages.startHistoryImport">messages.startHistoryImport</a></td>
<td> </td>
</tr>
<tr>
<td><a href="/method/messages.checkHistoryImportPeer">messages.checkHistoryImportPeer</a></td>
<td>Check whether chat history exported from another chat app can be imported into a specific Telegram chat.<br><br>If the check succeeds, and no RPC errors are returned, a <a href="/type/messages.CheckedHistoryImportPeer">messages.CheckedHistoryImportPeer</a> constructor will be returned, with a confirmation text to be shown to the user, before actually initializing the import.</td>
</tr>
<tr>
<td><a href="/method/messages.checkHistoryImport">messages.checkHistoryImport</a></td>
<td> </td>
</tr>
<tr>
<td><a href="/method/messages.initHistoryImport">messages.initHistoryImport</a></td>
<td> </td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-localization-packs" id="working-with-localization-packs" name="working-with-localization-packs"><i class="anchor-icon"></i></a>Working with localization packs</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/langpack.getDifference">langpack.getDifference</a></td>
<td>Get new strings in languagepack</td>
</tr>
<tr>
<td><a href="/method/langpack.getLangPack">langpack.getLangPack</a></td>
<td>Get localization pack strings</td>
</tr>
<tr>
<td><a href="/method/langpack.getLanguage">langpack.getLanguage</a></td>
<td>Get information about a language in a localization pack</td>
</tr>
<tr>
<td><a href="/method/langpack.getLanguages">langpack.getLanguages</a></td>
<td>Get information about all languages in a localization pack</td>
</tr>
<tr>
<td><a href="/method/langpack.getStrings">langpack.getStrings</a></td>
<td>Get strings from a language pack</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-media-autodownload-settings" id="working-with-media-autodownload-settings" name="working-with-media-autodownload-settings"><i class="anchor-icon"></i></a>Working with media autodownload settings</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.getAutoDownloadSettings">account.getAutoDownloadSettings</a></td>
<td>Get media autodownload settings</td>
</tr>
<tr>
<td><a href="/method/account.saveAutoDownloadSettings">account.saveAutoDownloadSettings</a></td>
<td>Change media autodownload settings</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-message-threads" id="working-with-message-threads" name="working-with-message-threads"><i class="anchor-icon"></i></a>Working with message <a href="/api/threads">threads</a></h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getReplies">messages.getReplies</a></td>
<td>Get messages in a reply thread</td>
</tr>
<tr>
<td><a href="/method/contacts.blockFromReplies">contacts.blockFromReplies</a></td>
<td>Stop getting notifications about <a href="/api/threads">thread replies</a> of a certain user in <code>@replies</code></td>
</tr>
<tr>
<td><a href="/method/messages.getDiscussionMessage">messages.getDiscussionMessage</a></td>
<td>Get <a href="/api/threads">discussion message</a> from the <a href="/api/discussion">associated discussion group</a> of a channel to show it on top of the comment section, without actually joining the group</td>
</tr>
<tr>
<td><a href="/method/messages.readDiscussion">messages.readDiscussion</a></td>
<td>Mark a <a href="/api/threads">thread</a> as read</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-message-reactions" id="working-with-message-reactions" name="working-with-message-reactions"><i class="anchor-icon"></i></a>Working with message reactions</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getMessagesReactions">messages.getMessagesReactions</a></td>
<td>Get message reactions</td>
</tr>
<tr>
<td><a href="/method/messages.sendReaction">messages.sendReaction</a></td>
<td>Send reaction to message</td>
</tr>
<tr>
<td><a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a></td>
<td>Get full message reaction list</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-messages" id="working-with-messages" name="working-with-messages"><i class="anchor-icon"></i></a>Working with messages</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.deleteHistory">messages.deleteHistory</a></td>
<td>Deletes communication history.</td>
</tr>
<tr>
<td><a href="/method/messages.deleteMessages">messages.deleteMessages</a></td>
<td>Deletes messages by their identifiers.</td>
</tr>
<tr>
<td><a href="/method/messages.editMessage">messages.editMessage</a></td>
<td>Edit message</td>
</tr>
<tr>
<td><a href="/method/messages.forwardMessages">messages.forwardMessages</a></td>
<td>Forwards messages by their IDs.</td>
</tr>
<tr>
<td><a href="/method/messages.getHistory">messages.getHistory</a></td>
<td>Gets back the conversation history with one interlocutor / within a chat</td>
</tr>
<tr>
<td><a href="/method/messages.getMessageEditData">messages.getMessageEditData</a></td>
<td>Find out if a media message's caption can be edited</td>
</tr>
<tr>
<td><a href="/method/messages.getMessages">messages.getMessages</a></td>
<td>Returns the list of messages by their IDs.</td>
</tr>
<tr>
<td><a href="/method/messages.getMessagesViews">messages.getMessagesViews</a></td>
<td>Get and increase the view counter of a message sent or forwarded from a <a href="/api/channel">channel</a></td>
</tr>
<tr>
<td><a href="/method/messages.getRecentLocations">messages.getRecentLocations</a></td>
<td>Get live location history of a certain user</td>
</tr>
<tr>
<td><a href="/method/messages.getSearchCounters">messages.getSearchCounters</a></td>
<td>Get the number of results that would be found by a <a href="/method/messages.search">messages.search</a> call with the same parameters</td>
</tr>
<tr>
<td><a href="/method/messages.getUnreadMentions">messages.getUnreadMentions</a></td>
<td>Get unread messages where we were mentioned</td>
</tr>
<tr>
<td><a href="/method/messages.readHistory">messages.readHistory</a></td>
<td>Marks message history as read.</td>
</tr>
<tr>
<td><a href="/method/messages.readMentions">messages.readMentions</a></td>
<td>Mark mentions as read</td>
</tr>
<tr>
<td><a href="/method/messages.readMessageContents">messages.readMessageContents</a></td>
<td>Notifies the sender about the recipient having listened a voice message or watched a video.</td>
</tr>
<tr>
<td><a href="/method/messages.receivedMessages">messages.receivedMessages</a></td>
<td>Confirms receipt of messages by a client, cancels PUSH-notification sending.</td>
</tr>
<tr>
<td><a href="/method/messages.search">messages.search</a></td>
<td>Gets back found messages</td>
</tr>
<tr>
<td><a href="/method/messages.searchGlobal">messages.searchGlobal</a></td>
<td>Search for messages and peers globally</td>
</tr>
<tr>
<td><a href="/method/messages.sendMedia">messages.sendMedia</a></td>
<td>Send a media</td>
</tr>
<tr>
<td><a href="/method/messages.sendMessage">messages.sendMessage</a></td>
<td>Sends a message to a chat</td>
</tr>
<tr>
<td><a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></td>
<td>Send an <a href="/api/files#albums-grouped-media">album or grouped media</a></td>
</tr>
<tr>
<td><a href="/method/messages.updatePinnedMessage">messages.updatePinnedMessage</a></td>
<td>Pin a message</td>
</tr>
<tr>
<td><a href="/method/messages.unpinAllMessages">messages.unpinAllMessages</a></td>
<td><a href="/api/pin">Unpin</a> all pinned messages</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-notification-settings" id="working-with-notification-settings" name="working-with-notification-settings"><i class="anchor-icon"></i></a>Working with notification settings</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.registerDevice">account.registerDevice</a></td>
<td>Register device to receive <a href="/api/push-updates">PUSH notifications</a></td>
</tr>
<tr>
<td><a href="/method/account.unregisterDevice">account.unregisterDevice</a></td>
<td>Deletes a device by its token, stops sending PUSH-notifications to it.</td>
</tr>
<tr>
<td><a href="/method/account.updateDeviceLocked">account.updateDeviceLocked</a></td>
<td>When client-side passcode lock feature is enabled, will not show message texts in incoming <a href="/api/push-updates">PUSH notifications</a>.</td>
</tr>
<tr>
<td><a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a></td>
<td>Returns list of chats with non-default notification settings</td>
</tr>
<tr>
<td><a href="/method/account.getNotifySettings">account.getNotifySettings</a></td>
<td>Gets current notification settings for a given user/group, from all users/all groups.</td>
</tr>
<tr>
<td><a href="/method/account.updateNotifySettings">account.updateNotifySettings</a></td>
<td>Edits notification settings from a given user/group, from all users/all groups.</td>
</tr>
<tr>
<td><a href="/method/account.resetNotifySettings">account.resetNotifySettings</a></td>
<td>Resets all notification settings from users and groups.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-other-users" id="working-with-other-users" name="working-with-other-users"><i class="anchor-icon"></i></a>Working with other users</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/users.getFullUser">users.getFullUser</a></td>
<td>Returns extended user info by ID.</td>
</tr>
<tr>
<td><a href="/method/users.getUsers">users.getUsers</a></td>
<td>Returns basic user info according to their identifiers.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-payments" id="working-with-payments" name="working-with-payments"><i class="anchor-icon"></i></a>Working with payments</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/payments.getSavedInfo">payments.getSavedInfo</a></td>
<td>Get saved payment information</td>
</tr>
<tr>
<td><a href="/method/payments.clearSavedInfo">payments.clearSavedInfo</a></td>
<td>Clear saved payment information</td>
</tr>
<tr>
<td><a href="/method/payments.getPaymentForm">payments.getPaymentForm</a></td>
<td>Get a payment form</td>
</tr>
<tr>
<td><a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a></td>
<td>Submit requested order information for validation</td>
</tr>
<tr>
<td><a href="/method/messages.setBotShippingResults">messages.setBotShippingResults</a></td>
<td>If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the bot will receive an <a href="/constructor/updateBotShippingQuery">updateBotShippingQuery</a> update. Use this method to reply to shipping queries.</td>
</tr>
<tr>
<td><a href="/method/account.getTmpPassword">account.getTmpPassword</a></td>
<td>Get temporary payment password</td>
</tr>
<tr>
<td><a href="/method/payments.sendPaymentForm">payments.sendPaymentForm</a></td>
<td>Send compiled payment form</td>
</tr>
<tr>
<td><a href="/method/messages.setBotPrecheckoutResults">messages.setBotPrecheckoutResults</a></td>
<td>Once the user has confirmed their payment and shipping details, the bot receives an <a href="/constructor/updateBotPrecheckoutQuery">updateBotPrecheckoutQuery</a> update. <br>Use this method to respond to such pre-checkout queries. <br><strong>Note</strong>: Telegram must receive an answer within 10 seconds after the pre-checkout query was sent.</td>
</tr>
<tr>
<td><a href="/method/payments.getPaymentReceipt">payments.getPaymentReceipt</a></td>
<td>Get payment receipt</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-polls" id="working-with-polls" name="working-with-polls"><i class="anchor-icon"></i></a>Working with polls</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getPollResults">messages.getPollResults</a></td>
<td>Get poll results</td>
</tr>
<tr>
<td><a href="/method/messages.getPollVotes">messages.getPollVotes</a></td>
<td>Get poll results for non-anonymous polls</td>
</tr>
<tr>
<td><a href="/method/messages.sendVote">messages.sendVote</a></td>
<td>Vote in a <a href="/constructor/poll">poll</a></td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-scheduled-messages" id="working-with-scheduled-messages" name="working-with-scheduled-messages"><i class="anchor-icon"></i></a>Working with scheduled messages</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.sendScheduledMessages">messages.sendScheduledMessages</a></td>
<td>Send scheduled messages right away</td>
</tr>
<tr>
<td><a href="/method/messages.getScheduledHistory">messages.getScheduledHistory</a></td>
<td>Get scheduled messages</td>
</tr>
<tr>
<td><a href="/method/messages.deleteScheduledMessages">messages.deleteScheduledMessages</a></td>
<td>Delete scheduled messages</td>
</tr>
<tr>
<td><a href="/method/messages.getScheduledMessages">messages.getScheduledMessages</a></td>
<td>Get scheduled messages</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-sensitive-content-nsfw" id="working-with-sensitive-content-nsfw" name="working-with-sensitive-content-nsfw"><i class="anchor-icon"></i></a>Working with sensitive content (NSFW)</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.getContentSettings">account.getContentSettings</a></td>
<td>Get sensitive content settings</td>
</tr>
<tr>
<td><a href="/method/account.setContentSettings">account.setContentSettings</a></td>
<td>Set sensitive content settings (for viewing or hiding NSFW content)</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-sponsored-messages" id="working-with-sponsored-messages" name="working-with-sponsored-messages"><i class="anchor-icon"></i></a>Working with sponsored messages</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/channels.getSponsoredMessages">channels.getSponsoredMessages</a></td>
<td>Get a list of sponsored messages</td>
</tr>
<tr>
<td><a href="/method/channels.viewSponsoredMessage">channels.viewSponsoredMessage</a></td>
<td>Mark a specific sponsored message as read</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-sponsored-proxies" id="working-with-sponsored-proxies" name="working-with-sponsored-proxies"><i class="anchor-icon"></i></a>Working with sponsored proxies</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/help.getProxyData">help.getProxyData</a></td>
<td>Get promotion info of the currently-used MTProxy</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-statistics" id="working-with-statistics" name="working-with-statistics"><i class="anchor-icon"></i></a>Working with statistics</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/stats.loadAsyncGraph">stats.loadAsyncGraph</a></td>
<td>Load <a href="/api/stats">channel statistics graph</a> asynchronously</td>
</tr>
<tr>
<td><a href="/method/stats.getBroadcastStats">stats.getBroadcastStats</a></td>
<td>Get <a href="/api/stats">channel statistics</a></td>
</tr>
<tr>
<td><a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a></td>
<td>Obtains a list of messages, indicating to which other public channels was a channel message forwarded. <br>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.</td>
</tr>
<tr>
<td><a href="/method/stats.getMegagroupStats">stats.getMegagroupStats</a></td>
<td>Get <a href="/api/stats">supergroup statistics</a></td>
</tr>
<tr>
<td><a href="/method/stats.getMessageStats">stats.getMessageStats</a></td>
<td>Get <a href="/api/stats">message statistics</a></td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-stickers" id="working-with-stickers" name="working-with-stickers"><i class="anchor-icon"></i></a>Working with stickers</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/messages.getOldFeaturedStickers">messages.getOldFeaturedStickers</a></td>
<td>Method for fetching previously featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.toggleStickerSets">messages.toggleStickerSets</a></td>
<td>Apply changes to multiple stickersets</td>
</tr>
<tr>
<td><a href="/method/stickers.suggestShortName">stickers.suggestShortName</a></td>
<td>Suggests a short name for a given stickerpack name</td>
</tr>
<tr>
<td><a href="/method/stickers.checkShortName">stickers.checkShortName</a></td>
<td>Check whether the given short name is available</td>
</tr>
<tr>
<td><a href="/method/stickers.setStickerSetThumb">stickers.setStickerSetThumb</a></td>
<td>Set stickerset thumbnail</td>
</tr>
<tr>
<td><a href="/method/stickers.addStickerToSet">stickers.addStickerToSet</a></td>
<td>Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/stickers.changeStickerPosition">stickers.changeStickerPosition</a></td>
<td>Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot</td>
</tr>
<tr>
<td><a href="/method/stickers.createStickerSet">stickers.createStickerSet</a></td>
<td>Create a stickerset, bots only.</td>
</tr>
<tr>
<td><a href="/method/stickers.removeStickerFromSet">stickers.removeStickerFromSet</a></td>
<td>Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot.</td>
</tr>
<tr>
<td><a href="/method/messages.clearRecentStickers">messages.clearRecentStickers</a></td>
<td>Clear recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.faveSticker">messages.faveSticker</a></td>
<td>Mark a sticker as favorite</td>
</tr>
<tr>
<td><a href="/method/messages.getAllStickers">messages.getAllStickers</a></td>
<td>Get all installed stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a></td>
<td>Get all archived stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getAttachedStickers">messages.getAttachedStickers</a></td>
<td>Get stickers attached to a photo or video</td>
</tr>
<tr>
<td><a href="/method/messages.getFavedStickers">messages.getFavedStickers</a></td>
<td>Get faved stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getFeaturedStickers">messages.getFeaturedStickers</a></td>
<td>Get featured stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getMaskStickers">messages.getMaskStickers</a></td>
<td>Get installed mask stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getRecentStickers">messages.getRecentStickers</a></td>
<td>Get recent stickers</td>
</tr>
<tr>
<td><a href="/method/messages.getStickerSet">messages.getStickerSet</a></td>
<td>Get info about a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.getStickers">messages.getStickers</a></td>
<td>Get stickers by emoji</td>
</tr>
<tr>
<td><a href="/method/messages.saveRecentSticker">messages.saveRecentSticker</a></td>
<td>Add/remove sticker from recent stickers list</td>
</tr>
<tr>
<td><a href="/method/messages.installStickerSet">messages.installStickerSet</a></td>
<td>Install a stickerset</td>
</tr>
<tr>
<td><a href="/method/messages.readFeaturedStickers">messages.readFeaturedStickers</a></td>
<td>Mark new featured stickers as read</td>
</tr>
<tr>
<td><a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a></td>
<td>Reorder installed stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.searchStickerSets">messages.searchStickerSets</a></td>
<td>Search for stickersets</td>
</tr>
<tr>
<td><a href="/method/messages.uninstallStickerSet">messages.uninstallStickerSet</a></td>
<td>Uninstall a stickerset</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-the-users-account" id="working-with-the-users-account" name="working-with-the-users-account"><i class="anchor-icon"></i></a>Working with the user's account</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.changePhone">account.changePhone</a></td>
<td>Change the phone number of the current account</td>
</tr>
<tr>
<td><a href="/method/account.confirmPhone">account.confirmPhone</a></td>
<td>Confirm a phone number to cancel account deletion, for more info <a href="/api/account-deletion">click here »</a></td>
</tr>
<tr>
<td><a href="/method/account.deleteAccount">account.deleteAccount</a></td>
<td>Delete the user's account from the telegram servers. Can be used, for example, to delete the account of a user that provided the login code, but forgot the <a href="/api/srp">2FA password and no recovery method is configured</a>.</td>
</tr>
<tr>
<td><a href="/method/account.getAccountTTL">account.getAccountTTL</a></td>
<td>Get days to live of account</td>
</tr>
<tr>
<td><a href="/method/account.getPrivacy">account.getPrivacy</a></td>
<td>Get privacy settings of current account</td>
</tr>
<tr>
<td><a href="/method/account.resetAuthorization">account.resetAuthorization</a></td>
<td>Log out an active <a href="/api/auth">authorized session</a> by its hash</td>
</tr>
<tr>
<td><a href="/method/account.sendChangePhoneCode">account.sendChangePhoneCode</a></td>
<td>Verify a new phone number to associate to the current account</td>
</tr>
<tr>
<td><a href="/method/account.sendConfirmPhoneCode">account.sendConfirmPhoneCode</a></td>
<td>Send confirmation code to cancel account deletion, for more info <a href="/api/account-deletion">click here »</a></td>
</tr>
<tr>
<td><a href="/method/account.setAccountTTL">account.setAccountTTL</a></td>
<td>Set account self-destruction period</td>
</tr>
<tr>
<td><a href="/method/account.setPrivacy">account.setPrivacy</a></td>
<td>Change privacy settings of current account</td>
</tr>
<tr>
<td><a href="/method/account.setGlobalPrivacySettings">account.setGlobalPrivacySettings</a></td>
<td>Set global privacy settings</td>
</tr>
<tr>
<td><a href="/method/account.getGlobalPrivacySettings">account.getGlobalPrivacySettings</a></td>
<td>Get global privacy settings</td>
</tr>
<tr>
<td><a href="/method/account.updateProfile">account.updateProfile</a></td>
<td>Updates user profile.</td>
</tr>
<tr>
<td><a href="/method/account.updateStatus">account.updateStatus</a></td>
<td>Updates online user status.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-user-profile-pictures" id="working-with-user-profile-pictures" name="working-with-user-profile-pictures"><i class="anchor-icon"></i></a>Working with user profile pictures</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/photos.deletePhotos">photos.deletePhotos</a></td>
<td>Deletes profile photos.</td>
</tr>
<tr>
<td><a href="/method/photos.getUserPhotos">photos.getUserPhotos</a></td>
<td>Returns the list of user photos.</td>
</tr>
<tr>
<td><a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a></td>
<td>Installs a previously uploaded photo as a profile photo.</td>
</tr>
<tr>
<td><a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a></td>
<td>Updates current user profile photo.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-usernames" id="working-with-usernames" name="working-with-usernames"><i class="anchor-icon"></i></a>Working with usernames</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/channels.checkUsername">channels.checkUsername</a></td>
<td>Check if a username is free and can be assigned to a channel/supergroup</td>
</tr>
<tr>
<td><a href="/method/channels.updateUsername">channels.updateUsername</a></td>
<td>Change the username of a supergroup/channel</td>
</tr>
<tr>
<td><a href="/method/account.updateUsername">account.updateUsername</a></td>
<td>Changes username for the current user.</td>
</tr>
<tr>
<td><a href="/method/account.checkUsername">account.checkUsername</a></td>
<td>Validates a username and checks availability.</td>
</tr>
<tr>
<td><a href="/method/contacts.resolveUsername">contacts.resolveUsername</a></td>
<td>Resolve a @username to get peer info</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#working-with-wallpapers" id="working-with-wallpapers" name="working-with-wallpapers"><i class="anchor-icon"></i></a>Working with wallpapers</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/method/account.getMultiWallPapers">account.getMultiWallPapers</a></td>
<td>Get info about multiple wallpapers</td>
</tr>
<tr>
<td><a href="/method/account.getWallPaper">account.getWallPaper</a></td>
<td>Get info about a certain wallpaper</td>
</tr>
<tr>
<td><a href="/method/account.getWallPapers">account.getWallPapers</a></td>
<td>Returns a list of available wallpapers.</td>
</tr>
<tr>
<td><a href="/method/account.installWallPaper">account.installWallPaper</a></td>
<td>Install wallpaper</td>
</tr>
<tr>
<td><a href="/method/account.resetWallPapers">account.resetWallPapers</a></td>
<td>Delete installed wallpapers</td>
</tr>
<tr>
<td><a href="/method/account.saveWallPaper">account.saveWallPaper</a></td>
<td>Install/uninstall wallpaper</td>
</tr>
<tr>
<td><a href="/method/account.uploadWallPaper">account.uploadWallPaper</a></td>
<td>Create and upload a new wallpaper</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer_wrap">
<div class="footer_columns_wrap footer_desktop">
<div class="footer_column footer_column_telegram">
<h5>Telegram</h5>
<div class="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
</div>
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
<ul>
<li><a href="//telegram.org/faq">FAQ</a></li>
<li><a href="//telegram.org/blog">Blog</a></li>
<li><a href="//telegram.org/jobs">Jobs</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#mobile-apps">Mobile Apps</a></h5>
<ul>
<li><a href="//telegram.org/dl/ios">iPhone/iPad</a></li>
<li><a href="//telegram.org/dl/android">Android</a></li>
<li><a href="//telegram.org/dl/wp">Windows Phone</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
<ul>
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
<li><a href="//macos.telegram.org/">macOS</a></li>
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
</ul>
</div>
<div class="footer_column footer_column_platform">
<h5><a href="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/api">API</a></li>
<li><a href="//translations.telegram.org/">Translations</a></li>
<li><a href="//instantview.telegram.org/">Instant View</a></li>
</ul>
</div>
</div>
<div class="footer_columns_wrap footer_mobile">
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/blog">Blog</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps">Apps</a></h5>
</div>
<div class="footer_column">
<h5><a href="//core.telegram.org/">Platform</a></h5>
</div>
<div class="footer_column">
<h5><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)">Twitter</a></h5>
</div>
</div>
</div>
</div>
<script src="/js/main.js?42"></script>
<script>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>