telegram-crawler/data/core.telegram.org/methods.html
2021-04-24 12:40:10 +00:00

2084 lines
77 KiB
HTML

<!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/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/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>
</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>
</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.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.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.migrateChat">messages.migrateChat</a></td>
<td>Turn a <a href="/api/channel">legacy group into a supergroup</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.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>
</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>
</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-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-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.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="/">Platform</a></h5>
<ul>
<li><a href="/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="/">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>