Rich messages

sendRichMessage()

Use this method to send rich messages. If the message contains a block with a media element, then the bot must have the right to send the media to the chat. On success, the sent Message is returned.

parameters

parametertyperequireddescription
business_connection_idstringoptionalUnique identifier of the business connection on behalf of which the message will be sent. Bot can send rich messages on behalf of a business account only if the corresponding user can send rich messages.
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 message will be sent; required if the message is sent to a direct messages chat
rich_messageInputRichMessagerequiredThe message to be sent
disable_notificationbooleanoptionalSends the message silently. Users will receive a notification with no sound.
protect_contentbooleanoptionalProtects the contents of the sent message from forwarding and saving
allow_paid_broadcastbooleanoptionalPass 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_idstringoptionalUnique identifier of the message effect to be added to the message; for private chats only
suggested_post_parametersSuggestedPostParametersoptionalA 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_parametersReplyParametersoptionalDescription of the message to reply to
reply_markupInlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReplyoptionalAdditional 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

Message

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 { Message, SendRichMessageParams } from "@yaebal/types";

await bot.api.call<Message>("sendRichMessage", {
  chat_id: 123456789,
  rich_message: {} /* InputRichMessage */,
} satisfies SendRichMessageParams);

context shortcut

also available as ctx.sendRichMessage() on 16 context types — see @yaebal/contexts.

context shortcut
/** Use this method to send rich messages. If the message contains a block with a media element, then the bot must have the right to send the media to the chat. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
ctx.sendRichMessage(params: Omit<SendRichMessageParams, "chat_id">)