sendMessageDraft
Sends a message draft - temporary preview (Bot API 9.5+).
Returns: On success, returns True.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chat_id | Integer | Yes | Private chat ID |
message_thread_id | Integer | Optional | Topic ID (for forums) |
draft_id | Integer | Yes | Unique draft ID (non-zero) |
text | String | Optional | Draft text (0-4096, empty = "Thinking...") |
parse_mode | String | Optional | HTML, Markdown, MarkdownV2 |
entities | Array of MessageEntity | Optional | JSON MessageEntity array |
can_stop | Boolean | Optional | Show a button to stop further drafts (Bot API 10.3) |
keep_on_stop | Boolean | Optional | Keep the draft in the chat when the stop button is pressed (Bot API 10.3) |
Example request
curl
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessageDraft" \
-H "Content-Type: application/json" \
-d '{"chat_id":123456789,"draft_id":1}'
Python
import requests
TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendMessageDraft",
json={
"chat_id": 123456789,
"draft_id": 1
},
timeout=30,
)
print(resp.json())
JavaScript
const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendMessageDraft`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"chat_id": 123456789,
"draft_id": 1
}),
});
console.log(await res.json());
Step-by-step guide: Telegram Bot API 10.0–10.3: Rich Messages, Ephemeral Messages, Guest Mode and More
Related methods
sendMessageSends a text message.forwardMessageForwards a message.forwardMessagesForwards multiple messages.copyMessageCopies a message without forward link.copyMessagesCopies multiple messages.deleteMessageDeletes a message.deleteMessagesDeletes multiple messages.sendChatActionSends a chat action (typing, etc.).sendContactSends a contact.sendLocationSends a location.sendVenueSends a venue.setMessageReactionSets a reaction on a message.