跳至主要內容

富訊息:連結預覽、文本實體與圖文混排

介紹如何關閉連結預覽、用 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 分別用 sendPhotosendVideosendAnimation

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

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

MessageEntity:兩種 @

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

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

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

Bot 發出文本的自動識別

  • URL:http:// / https:// 起至空格;結尾標點不計;無協議不識別。

  • @username:@ + [A-Za-z0-9_-] 至空格。[email protected] 不是 @用戶。

  • /command:/ + [A-Za-z0-9_] 至空格。

  • https://[email protected] 整體是 URL;路徑中的 / 不是指令。

Markdown / HTML 超連結

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

@ 點擊結果

  • 解析到真實用戶 → 打開該用戶客態頁。

  • 找不到 → 搜索/提示「未找到該用戶」一類 toast,約 3 秒或手動返回。

相關

權威來源

core.mp.net/bots 為準。

是否回答了您的問題?