跳至主要內容

訊息格式設定:連結預覽、文字樣式、提及與圖文

介紹如何關閉連結預覽、用 sendPhoto/sendVideo/sendAnimation 配 caption 做圖文混排,以及 entities 的 text_mention、parse_mode Markdown/HTML 超連結,還有自動識別 @、URL 與指令的規則。

一句話結論

用 link_preview_options.is_disabled = true 關閉預覽卡。圖文混排走 sendPhoto / sendVideo / sendAnimation + caption。顯式 entities 目前支持 text_mention;Markdown/HTML 超連結用 parse_mode。


總覽

這些能力決定 Bot 發出的文字與媒體在聊天裡如何呈現。欄位級規則見 core.mp.net/bots。

關閉預覽卡

在 sendMessage 上設定 link_preview_options: { "is_disabled": true },可關閉普通連結預覽,並讓 web_app 入口訊息以純文本發送(不帶 MiniApp 卡片)。若未傳 link_preview_options,舊欄位 disable_web_page_preview: true 等價於同一開關。

{
"chat_id": 12345,
"text": "https://example.com/path",
"link_preview_options": { "is_disabled": true }
}

圖文混排 + caption

  • 圖片 / 影片 / GIF 分別用 sendPhoto、sendVideo、sendAnimation。

  • 說明文字放在 caption(同一氣泡)。客戶端媒體定寬、高度等比,長 caption 可換行;長度上限以官方方法頁為準。

  • 不支持復用已有 file_id——用 HTTPS URL 或 multipart 上傳。

sendPhoto、sendVideo、sendAnimation 和 sendDocument 都支持 caption_entities。省略時保留自動識別提及,傳空數組則關閉該說明中的自動識別。sendDocument 傳 reply_markup 會返回 400。

MessageEntity:兩種 @

  • 正文裡的原始 @username:省略 entities 時,服務端可能按唯一用戶名自動解析為提及。

  • 顯式 entities,type: "text_mention" + user.id:可見文案可任意,錨定該用戶 ID(群成員校驗仍生效)。

  • 當前公開 entities 輸入僅支持 text_mention。暫勿與 web_app 入口卡組合。

控制自動提及

省略 entities 時,服務端嘗試按區分大小寫的 @username 精確匹配。傳 entities: [] 可關閉自動識別。每條訊息的預設識別上限為 100 個原始提及。可點擊的提及和群提醒是兩種行為,只有已確認的群成員才會收到群 @ 提醒。

offset 和 length 按 UTF-16 代碼單元計算。🚀 @Chen 中的偏移量為 3,長度為 5。發邀請時,請用選中的群成員 ID 構造顯式實體。

Markdown / HTML 超連結

parse_mode 可為 Markdown 或 HTML。Markdown 模式下可用 [文字](URL) 寫超連結。

相關

權威來源

以 core.mp.net/bots 為準。

是否回答了您的問題?