跳转到主要内容

富消息:链接预览、文本实体与图文混排

介绍如何关闭链接预览、用 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 为准。

这是否解答了您的问题?