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_ids 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. Returns the MessageId of the sent message on success.
parameters
| parameter | type | required | description |
|---|---|---|---|
chat_id | number | string | required | Unique identifier for the target chat or username of the target bot, supergroup or channel in the format @username |
message_thread_id | number | optional | 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 | optional | Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat |
from_chat_id | number | string | required | Unique identifier for the chat where the original message was sent (or username of the target bot, supergroup or channel in the format @username) |
message_id | number | required | Message identifier in the chat specified in from_chat_id |
video_start_timestamp | number | optional | New start timestamp for the copied video in the message |
caption | string | optional | New caption for media, 0-1024 characters after entities parsing. If not specified, the original caption is kept. |
parse_mode | string | optional | Mode for parsing entities in the new caption. See formatting options for more details. |
caption_entities | MessageEntity[] | optional | 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 | optional | Pass True if the caption must be shown above the message media. Ignored if a new caption isn't specified. |
disable_notification | boolean | optional | Sends the message silently. Users will receive a notification with no sound. |
protect_content | boolean | optional | Protects the contents of the sent message from forwarding and saving |
allow_paid_broadcast | boolean | optional | 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 | optional | Unique identifier of the message effect to be added to the message; only available when copying to private chats |
suggested_post_parameters | SuggestedPostParameters | optional | 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 | optional | Description of the message to reply to |
reply_markup | InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | optional | 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. |
returns
usage in yaebal
copyMessage is directly typed on Api — call it straight off bot.api.
import type { CopyMessageParams } from "@yaebal/types";
await bot.api.copyMessage({
chat_id: 123456789,
from_chat_id: 123456789,
message_id: 1,
} satisfies CopyMessageParams);context shortcut
also available as ctx.copy() on
9
context types — see @yaebal/contexts.
/** 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](https://core.telegram.org/bots/api/#poll) can be copied only if the value of the field *correct\_option\_ids* is known to the bot. The method is analogous to the method [forwardMessage](https://core.telegram.org/bots/api/#forwardmessage), but the copied message doesn't have a link to the original message. Returns the [MessageId](https://core.telegram.org/bots/api/#messageid) of the sent message on success. */
ctx.copy(chatId: number | string, params?: Omit<CopyMessageParams, "message_thread_id" | "direct_messages_topic_id" | "from_chat_id" | "message_id" | "chat_id">)official Bot API docs: https://core.telegram.org/bots/api/#copymessage