telegram-crawler/data/corefork.telegram.org/method/messages.sendMedia
2021-11-02 12:52:29 +00:00

518 lines
22 KiB
Text
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>messages.sendMedia</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Send a media">
<meta property="og:title" content="messages.sendMedia">
<meta property="og:image" content="">
<meta property="og:description" content="Send a media">
<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?214" 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" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/messages.sendMedia" >messages.sendMedia</a></li></ul></div>
<h1 id="dev_page_title">messages.sendMedia</h1>
<div id="dev_page_content"><p>Send a media</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 133 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="?layer=1">1 &ndash; Base layer</a></li><li><a href="?layer=2">2 &ndash; New userpic notifications</a></li><li><a href="?layer=3">3 &ndash; Send message can trigger link change</a></li><li><a href="?layer=4">4 &ndash; Check-in chats</a></li><li><a href="?layer=5">5 &ndash; Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 &ndash; Foursquare integration</a></li><li><a href="?layer=7">7 &ndash; Added wallPaperSolid</a></li><li><a href="?layer=8">8 &ndash; Added end-to-end encryption</a></li><li><a href="?layer=9">9 &ndash; Improved big files upload perfomance</a></li><li><a href="?layer=10">10 &ndash; Improved chat participants updates</a></li><li><a href="?layer=11">11 &ndash; Improved secret chats</a></li><li><a href="?layer=12">12 &ndash; New dynamic support</a></li><li><a href="?layer=13">13 &ndash; Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 &ndash; Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 &ndash; Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 &ndash; Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 &ndash; Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 &ndash; Added usernames</a></li><li><a href="?layer=23">23 &ndash; Stickers for secret chats</a></li><li><a href="?layer=105">105 &ndash; Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 &ndash; Login with QR code</a></li><li><a href="?layer=109">109 &ndash; Polls v2</a></li><li><a href="?layer=110">110 &ndash; People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 &ndash; Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 &ndash; Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 &ndash; PSA</a></li><li><a href="?layer=114">114 &ndash; Video thumbs for GIFs</a></li><li><a href="?layer=115">115 &ndash; Peek Channel Invite</a></li><li><a href="?layer=116">116 &ndash; Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 &ndash; WebRTC Phone Calls</a></li><li><a href="?layer=118">118 &ndash; Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 &ndash; Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 &ndash; Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121">121 &ndash; SVG-based Outlines for Stickers</a></li><li><a href="?layer=122">122 &ndash; Voice Chats</a></li><li><a href="?layer=123">123 &ndash; Voice Chat improvements</a></li><li><a href="?layer=124">124 &ndash; Expiring Invite links</a></li><li><a href="?layer=125">125 &ndash; Voice Chats in Broadcasts</a></li><li><a href="?layer=126">126 &ndash; Ban channels in channels</a></li><li><a href="?layer=127">127 &ndash; Payments in channels</a></li><li><a href="?layer=128">128 &ndash; Microthumbs for User/Chat profile photos</a></li><li><a href="?layer=129">129 &ndash; Video Chats</a></li><li><a href="?layer=130">130 &ndash; Custom placeholder for bot reply keyboards</a></li><li><a href="?layer=131">131 &ndash; Reset 2FA Password after a week</a></li><li><a href="?layer=132">132 &ndash; Chat themes</a></li><li><a href="?layer=133"><strong>133 &ndash; 64-bit IDs for User/Chat</strong></a></li>
<li class="divider"></li>
<li><a href="/api/layers">More...</a></li>
</ul>
</li>
</ul>
</div>
<pre class="page_scheme"><code><a href="/constructor/updatesTooLong" >updatesTooLong</a>#e317af7e = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updateShortMessage" >updateShortMessage</a>#313bc7f8 flags:<a href="/type/%23" >#</a> out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:<a href="/type/int" >int</a> user_id:<a href="/type/long" >long</a> message:<a href="/type/string" >string</a> pts:<a href="/type/int" >int</a> pts_count:<a href="/type/int" >int</a> date:<a href="/type/int" >int</a> fwd_from:flags.2?<a href="/type/MessageFwdHeader" >MessageFwdHeader</a> via_bot_id:flags.11?<a href="/type/long" >long</a> reply_to:flags.3?<a href="/type/MessageReplyHeader" >MessageReplyHeader</a> entities:flags.7?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/MessageEntity" >MessageEntity</a>&gt; ttl_period:flags.25?<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updateShortChatMessage" >updateShortChatMessage</a>#4d6deea5 flags:<a href="/type/%23" >#</a> out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:<a href="/type/int" >int</a> from_id:<a href="/type/long" >long</a> chat_id:<a href="/type/long" >long</a> message:<a href="/type/string" >string</a> pts:<a href="/type/int" >int</a> pts_count:<a href="/type/int" >int</a> date:<a href="/type/int" >int</a> fwd_from:flags.2?<a href="/type/MessageFwdHeader" >MessageFwdHeader</a> via_bot_id:flags.11?<a href="/type/long" >long</a> reply_to:flags.3?<a href="/type/MessageReplyHeader" >MessageReplyHeader</a> entities:flags.7?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/MessageEntity" >MessageEntity</a>&gt; ttl_period:flags.25?<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updateShort" >updateShort</a>#78d4dec1 update:<a href="/type/Update" >Update</a> date:<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updatesCombined" >updatesCombined</a>#725b04c3 updates:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/Update" >Update</a>&gt; users:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/User" >User</a>&gt; chats:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/Chat" >Chat</a>&gt; date:<a href="/type/int" >int</a> seq_start:<a href="/type/int" >int</a> seq:<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updates" >updates</a>#74ae4240 updates:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/Update" >Update</a>&gt; users:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/User" >User</a>&gt; chats:<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/Chat" >Chat</a>&gt; date:<a href="/type/int" >int</a> seq:<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
<a href="/constructor/updateShortSentMessage" >updateShortSentMessage</a>#9015e101 flags:<a href="/type/%23" >#</a> out:flags.1?true id:<a href="/type/int" >int</a> pts:<a href="/type/int" >int</a> pts_count:<a href="/type/int" >int</a> date:<a href="/type/int" >int</a> media:flags.9?<a href="/type/MessageMedia" >MessageMedia</a> entities:flags.7?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/MessageEntity" >MessageEntity</a>&gt; ttl_period:flags.25?<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;
---functions---
<a href="/method/messages.sendMedia" class="current_page_link" >messages.sendMedia</a>#3491eba9 flags:<a href="/type/%23" >#</a> silent:flags.5?true background:flags.6?true clear_draft:flags.7?true peer:<a href="/type/InputPeer" >InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int" >int</a> media:<a href="/type/InputMedia" >InputMedia</a> message:<a href="/type/string" >string</a> random_id:<a href="/type/long" >long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup" >ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/MessageEntity" >MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int" >int</a> = <a href="/type/Updates" >Updates</a>;</code></pre></p>
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>flags</strong></td>
<td style="text-align: center;"><a href="/type/%23">#</a></td>
<td>Flags, see <a href="/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></td>
</tr>
<tr>
<td><strong>silent</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a></td>
<td>Send message silently (no notification should be triggered)</td>
</tr>
<tr>
<td><strong>background</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a></td>
<td>Send message in background</td>
</tr>
<tr>
<td><strong>clear_draft</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a></td>
<td>Clear the draft</td>
</tr>
<tr>
<td><strong>peer</strong></td>
<td style="text-align: center;"><a href="/type/InputPeer">InputPeer</a></td>
<td>Destination</td>
</tr>
<tr>
<td><strong>reply_to_msg_id</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a></td>
<td>Message ID to which this message should reply to</td>
</tr>
<tr>
<td><strong>media</strong></td>
<td style="text-align: center;"><a href="/type/InputMedia">InputMedia</a></td>
<td>Attached media</td>
</tr>
<tr>
<td><strong>message</strong></td>
<td style="text-align: center;"><a href="/type/string">string</a></td>
<td>Caption</td>
</tr>
<tr>
<td><strong>random_id</strong></td>
<td style="text-align: center;"><a href="/type/long">long</a></td>
<td>Random ID to avoid resending the same message</td>
</tr>
<tr>
<td><strong>reply_markup</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a></td>
<td>Reply markup for bot keyboards</td>
</tr>
<tr>
<td><strong>entities</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt;</td>
<td>Message <a href="/api/entities">entities</a> for styled text</td>
</tr>
<tr>
<td><strong>schedule_date</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a></td>
<td>Scheduled message date for <a href="/api/scheduled-messages">scheduled messages</a></td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#result" id="result" name="result"><i class="anchor-icon"></i></a>Result</h3>
<p><a href="/type/Updates">Updates</a></p>
<h3><a class="anchor" href="#possible-errors" id="possible-errors" name="possible-errors"><i class="anchor-icon"></i></a>Possible errors</h3>
<table class="table">
<thead>
<tr>
<th>Code</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>400</td>
<td>BOT_PAYMENTS_DISABLED</td>
<td>Please enable bot payments in botfather before calling this method.</td>
</tr>
<tr>
<td>400</td>
<td>BOT_POLLS_DISABLED</td>
<td> </td>
</tr>
<tr>
<td>400</td>
<td>BROADCAST_PUBLIC_VOTERS_FORBIDDEN</td>
<td>You can't forward polls with public voters.</td>
</tr>
<tr>
<td>400</td>
<td>BUTTON_DATA_INVALID</td>
<td>The data of one or more of the buttons you provided is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>BUTTON_TYPE_INVALID</td>
<td>The type of one or more of the buttons you provided is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>BUTTON_URL_INVALID</td>
<td>Button URL invalid.</td>
</tr>
<tr>
<td>400</td>
<td>CHANNEL_INVALID</td>
<td>The provided channel is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>CHANNEL_PRIVATE</td>
<td>You haven't joined this channel/supergroup.</td>
</tr>
<tr>
<td>400</td>
<td>CHAT_ADMIN_REQUIRED</td>
<td>You must be an admin in this chat to do this.</td>
</tr>
<tr>
<td>400</td>
<td>CHAT_RESTRICTED</td>
<td>You can't send messages in this chat, you were restricted.</td>
</tr>
<tr>
<td>403</td>
<td>CHAT_SEND_GIFS_FORBIDDEN</td>
<td>You can't send gifs in this chat.</td>
</tr>
<tr>
<td>403</td>
<td>CHAT_SEND_MEDIA_FORBIDDEN</td>
<td>You can't send media in this chat.</td>
</tr>
<tr>
<td>403</td>
<td>CHAT_SEND_POLL_FORBIDDEN</td>
<td>You can't send polls in this chat.</td>
</tr>
<tr>
<td>403</td>
<td>CHAT_SEND_STICKERS_FORBIDDEN</td>
<td>You can't send stickers in this chat.</td>
</tr>
<tr>
<td>403</td>
<td>CHAT_WRITE_FORBIDDEN</td>
<td>You can't write in this chat.</td>
</tr>
<tr>
<td>400</td>
<td>CURRENCY_TOTAL_AMOUNT_INVALID</td>
<td>The total amount of all prices is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>EMOTICON_INVALID</td>
<td>The specified emoji is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>EXTERNAL_URL_INVALID</td>
<td>External URL invalid.</td>
</tr>
<tr>
<td>400</td>
<td>FILE_PARTS_INVALID</td>
<td>The number of file parts is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>FILE_PART_LENGTH_INVALID</td>
<td>The length of a file part is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>FILE_REFERENCE_EMPTY</td>
<td>An empty <a href="https://core.telegram.org/api/file_reference">file reference</a> was specified.</td>
</tr>
<tr>
<td>400</td>
<td>FILE_REFERENCE_EXPIRED</td>
<td>File reference expired, it must be refetched as described in <a href="https://core.telegram.org/api/file_reference">https://core.telegram.org/api/file_reference</a>.</td>
</tr>
<tr>
<td>400</td>
<td>GAME_BOT_INVALID</td>
<td>Bots can't send another bot's game.</td>
</tr>
<tr>
<td>400</td>
<td>IMAGE_PROCESS_FAILED</td>
<td>Failure while processing image.</td>
</tr>
<tr>
<td>400</td>
<td>INPUT_USER_DEACTIVATED</td>
<td>The specified user was deleted.</td>
</tr>
<tr>
<td>400</td>
<td>MD5_CHECKSUM_INVALID</td>
<td>The MD5 checksums do not match.</td>
</tr>
<tr>
<td>400</td>
<td>MEDIA_CAPTION_TOO_LONG</td>
<td>The caption is too long.</td>
</tr>
<tr>
<td>400</td>
<td>MEDIA_EMPTY</td>
<td>The provided media object is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>MEDIA_INVALID</td>
<td>Media invalid.</td>
</tr>
<tr>
<td>400</td>
<td>MSG_ID_INVALID</td>
<td>Invalid message ID provided.</td>
</tr>
<tr>
<td>400</td>
<td>PAYMENT_PROVIDER_INVALID</td>
<td>The specified payment provider is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>PEER_ID_INVALID</td>
<td>The provided peer id is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>PHOTO_EXT_INVALID</td>
<td>The extension of the photo is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>PHOTO_INVALID_DIMENSIONS</td>
<td>The photo dimensions are invalid.</td>
</tr>
<tr>
<td>400</td>
<td>PHOTO_SAVE_FILE_INVALID</td>
<td>Internal issues, try again later.</td>
</tr>
<tr>
<td>400</td>
<td>POLL_ANSWERS_INVALID</td>
<td>Invalid poll answers were provided.</td>
</tr>
<tr>
<td>400</td>
<td>POLL_ANSWER_INVALID</td>
<td>One of the poll answers is not acceptable.</td>
</tr>
<tr>
<td>400</td>
<td>POLL_OPTION_DUPLICATE</td>
<td>Duplicate poll options provided.</td>
</tr>
<tr>
<td>400</td>
<td>POLL_OPTION_INVALID</td>
<td>Invalid poll option provided.</td>
</tr>
<tr>
<td>400</td>
<td>POLL_QUESTION_INVALID</td>
<td>One of the poll questions is not acceptable.</td>
</tr>
<tr>
<td>400</td>
<td>QUIZ_CORRECT_ANSWERS_EMPTY</td>
<td>No correct quiz answer was specified.</td>
</tr>
<tr>
<td>400</td>
<td>QUIZ_CORRECT_ANSWERS_TOO_MUCH</td>
<td>You specified too many correct answers in a quiz, quizes can only have one right answer!</td>
</tr>
<tr>
<td>400</td>
<td>QUIZ_CORRECT_ANSWER_INVALID</td>
<td>An invalid value was provided to the correct_answers field.</td>
</tr>
<tr>
<td>400</td>
<td>QUIZ_MULTIPLE_INVALID</td>
<td>Quizes can't have the multiple_choice flag set!</td>
</tr>
<tr>
<td>400</td>
<td>REPLY_MARKUP_BUY_EMPTY</td>
<td>Reply markup for buy button empty.</td>
</tr>
<tr>
<td>400</td>
<td>REPLY_MARKUP_INVALID</td>
<td>The provided reply markup is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>SCHEDULE_BOT_NOT_ALLOWED</td>
<td>Bots cannot schedule messages.</td>
</tr>
<tr>
<td>400</td>
<td>SCHEDULE_DATE_TOO_LATE</td>
<td>You can't schedule a message this far in the future.</td>
</tr>
<tr>
<td>400</td>
<td>SCHEDULE_TOO_MUCH</td>
<td>There are too many scheduled messages.</td>
</tr>
<tr>
<td>420</td>
<td>SLOWMODE_WAIT_X</td>
<td>Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat.</td>
</tr>
<tr>
<td>400</td>
<td>TTL_MEDIA_INVALID</td>
<td>Invalid media Time To Live was provided.</td>
</tr>
<tr>
<td>400</td>
<td>USER_BANNED_IN_CHANNEL</td>
<td>You're banned from sending messages in supergroups/channels.</td>
</tr>
<tr>
<td>400</td>
<td>USER_IS_BLOCKED</td>
<td>You were blocked by this user.</td>
</tr>
<tr>
<td>400</td>
<td>USER_IS_BOT</td>
<td>Bots can't send messages to other bots.</td>
</tr>
<tr>
<td>400</td>
<td>VIDEO_CONTENT_TYPE_INVALID</td>
<td>The video's content type is invalid.</td>
</tr>
<tr>
<td>400</td>
<td>WEBPAGE_CURL_FAILED</td>
<td>Failure while fetching the webpage with cURL.</td>
</tr>
<tr>
<td>400</td>
<td>WEBPAGE_MEDIA_EMPTY</td>
<td>Webpage media empty.</td>
</tr>
<tr>
<td>400</td>
<td>YOU_BLOCKED_USER</td>
<td>You blocked this user.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#bots-can-use-this-method" id="bots-can-use-this-method" name="bots-can-use-this-method"><i class="anchor-icon"></i></a>Bots can use this method</h3>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#styled-text-with-message-entities" id="styled-text-with-message-entities" name="styled-text-with-message-entities"><i class="anchor-icon"></i></a><a href="/api/entities">Styled text with message entities</a></h4>
<p>How to create styled text with message entities</p>
<h4><a class="anchor" href="#scheduled-messages" id="scheduled-messages" name="scheduled-messages"><i class="anchor-icon"></i></a><a href="/api/scheduled-messages">Scheduled messages</a></h4>
<p>Telegram allows scheduling messages</p></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>