copyMessage
Use this method to copy messages of any kind. Service messages, paid media messages, giveaway messages, giveaway winners messages, and invoice messages can’t be copied. A quiz poll can be copied only if the value of the field correct_option_id is known to the bot. The method is analogous to the method forwardMessage, but the copied message doesn’t have a link to the original message.
Required: chat_id, from_chat_id, message_id · Optional: 14 parameters
Limits:
- caption: 0-1024 characters
- allow_paid_broadcast: up to 1000 messages
Try it
TypeScript example · @effect-ak/tg-bot-client
import { makeTgBotClient } from "@effect-ak/tg-bot-client"
const client = makeTgBotClient({ bot_token: "YOUR_BOT_TOKEN" })
const result = await client.execute("copy_message", { chat_id: "YOUR_CHAT_ID", from_chat_id: { /* number | string */ }, message_id: 0})Parameters
chat_id number | string Required
Unique identifier for the target chat or username of the target channel (in the format @channelusername).
from_chat_id number | string Required
Unique identifier for the chat where the original message was sent (or channel username in the format @channelusername).
message_id number Required
Message identifier in the chat specified in from_chat_id.
message_thread_id number
Unique identifier for the target message thread (topic) of a forum; for forum supergroups and private chats of bots with forum topic mode enabled only.
direct_messages_topic_id number
Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat.
video_start_timestamp number
New start timestamp for the copied video in the message.
caption string
New caption for media, 0-1024 characters after entities parsing. If not specified, the original caption is kept.
parse_mode "HTML" | "MarkdownV2"
Mode for parsing entities in the new caption. See formatting options for more details.
caption_entities MessageEntity[]
A JSON-serialized list of special entities that appear in the new caption, which can be specified instead of parse_mode.
show_caption_above_media boolean
Pass True, if the caption must be shown above the message media. Ignored if a new caption isn’t specified.
disable_notification boolean
Sends the message silently. Users will receive a notification with no sound.
protect_content boolean
Protects the contents of the sent message from forwarding and saving.
allow_paid_broadcast boolean
Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot’s balance.
message_effect_id string
Unique identifier of the message effect to be added to the message; only available when copying to private chats.
suggested_post_parameters SuggestedPostParameters
A JSON-serialized object containing the parameters of the suggested post to send; for direct messages chats only. If the message is sent as a reply to another suggested post, then that suggested post is automatically declined.
reply_parameters ReplyParameters
Description of the message to reply to.
reply_markup InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply
Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove a reply keyboard or to force a reply from the user.