Available methods

copyMessages()

Use this method to copy messages of any kind. If some of the specified messages can't be found or copied, they are skipped. 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 forwardMessages, but the copied messages don't have a link to the original message. Album grouping is kept for copied messages. On success, an array of MessageId of the sent messages is returned.

parameters

parametertyperequireddescription
chat_idnumber | stringrequiredUnique identifier for the target chat or username of the target bot, supergroup or channel in the format @username
message_thread_idnumberoptionalUnique 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_idnumberoptionalIdentifier of the direct messages topic to which the messages will be sent; required if the messages are sent to a direct messages chat
from_chat_idnumber | stringrequiredUnique identifier for the chat where the original messages were sent (or username of the target bot, supergroup or channel in the format @username)
message_idsnumber[]requiredA JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to copy. The identifiers must be specified in a strictly increasing order.
disable_notificationbooleanoptionalSends the messages silently. Users will receive a notification with no sound.
protect_contentbooleanoptionalProtects the contents of the sent messages from forwarding and saving
remove_captionbooleanoptionalPass True to copy the messages without their captions

returns

MessageId[]

usage in yaebal

not (yet) hard-typed on Api — call it through the generic .call<T>() escape hatch documented in @yaebal/types.

bot.ts
import type { CopyMessagesParams, MessageId } from "@yaebal/types";

await bot.api.call<MessageId[]>("copyMessages", {
  chat_id: 123456789,
  from_chat_id: 123456789,
  message_ids: [],
} satisfies CopyMessagesParams);