Telegram Bot API
🌐 English

copyMessage

Category: Messages · Bot API 10.3 · Official documentation

Copies a message without forward link.

Returns: On success, returns MessageId.

Parameters

ParameterTypeRequiredDescription
chat_idInteger or StringYesTarget chat ID
message_thread_idIntegerOptionalForum topic ID
direct_messages_topic_idIntegerOptionalDirect messages topic ID (Bot API 10.0)
from_chat_idInteger or StringYesSource chat ID
message_idIntegerYesMessage ID to copy
video_start_timestampIntegerOptionalVideo start timestamp (Bot API 10.0)
captionStringOptionalNew caption (0-1024)
parse_modeStringOptionalHTML, Markdown, MarkdownV2
caption_entitiesArray of MessageEntityOptionalJSON MessageEntity array for caption
show_caption_above_mediaBooleanOptionalShow caption above media
disable_notificationBooleanOptionalSend silently
protect_contentBooleanOptionalProtect content
allow_paid_broadcastBooleanOptionalAllow paid broadcast
message_effect_idStringOptionalMessage effect ID
suggested_post_parametersSuggestedPostParametersOptionalJSON SuggestedPostParameters object
reply_parametersReplyParametersOptionalJSON ReplyParameters object
reply_markupInlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReplyOptionalJSON: InlineKeyboardMarkup / ReplyKeyboardMarkup / ReplyKeyboardRemove / ForceReply

Parameter descriptions are concise summaries; see the official documentation for the full text.

Example request

curl

curl -s -X POST "https://api.telegram.org/bot$TOKEN/copyMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id":123456789,"from_chat_id":123456789,"message_id":42}'

Python

import requests

TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
    f"https://api.telegram.org/bot{TOKEN}/copyMessage",
    json={
        "chat_id": 123456789,
        "from_chat_id": 123456789,
        "message_id": 42
    },
    timeout=30,
)
print(resp.json())

JavaScript

const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/copyMessage`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "chat_id": 123456789,
    "from_chat_id": 123456789,
    "message_id": 42
  }),
});
console.log(await res.json());

Step-by-step guide: How to Send a Message with the Telegram Bot API (sendMessage)