跳转到主要内容

消息格式设置:链接预览、文字样式、提及与图文

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

这是否解答了您的问题?