
本文详解如何在bitrix chat bot中彻底关闭自动链接预览(url preview),避免首链接强制渲染为底部卡片,并解决因预览占用空间导致长消息需频繁滚动的问题。核心方法是通过 url_preview => 'n' 参数控制富文本渲染行为。
本文详解如何在bitrix chat bot中彻底关闭自动链接预览(url preview),避免首链接强制渲染为底部卡片,并解决因预览占用空间导致长消息需频繁滚动的问题。核心方法是通过 url_preview => 'n' 参数控制富文本渲染行为。
在 Bitrix 企业协作平台中,当聊天机器人(imbot)发送包含 URL 的富文本消息时,系统默认会启用「链接预览」(URL Preview)功能——即自动提取首个 或 [URL=...] 链接,生成带标题、描述和缩略图的卡片式预览,并固定显示在消息底部。该行为虽提升信息丰富度,但对新闻聚合类机器人(如您展示的 HABR 新闻列表)却带来两大痛点:
- 视觉干扰:预览卡片遮挡后续内容,尤其当消息含多条图文链接时,破坏排版一致性;
- 交互障碍:长消息因预览额外占位,用户必须反复滚动才能阅读完整内容,显著降低可读性。
✅ 正确解决方案是显式禁用预览渲染,而非修改链接格式或隐藏 DOM —— Bitrix 提供了官方支持的参数:URL_PREVIEW => 'N'(注意大小写,值为字符串 'N',非布尔 false 或数字 0)。该参数需在调用 imbot.message.add REST 方法时作为顶层键传入,作用于整条消息,且优先级高于任何 URL 格式或 Markdown 解析逻辑。
✅ 正确代码示例(适配您的结构)
$arResult = [
'title' => '[B]Актуальные новости IT - HABR.COM[/B]',
'report' => "\n" .
'[ICON=https://emoji-uc.akamaized.net/orig/09/f815148913a719eb63263593996d54.png title=Смайлик] ' .
$Myarr[0] . '. ' . '[URL=' . $Myarrlink[0] . ']Читать далее ➤[/URL]' .
"\n\n" .
'[ICON=https://emoji-uc.akamaized.net/orig/09/f815148913a719eb63263593996d54.png title=Смайлик] ' .
$Myarr[1] . '. ' . '[URL=' . $Myarrlink[1] . ']Читать далее ➤[/URL]' .
// ... 其余条目保持不变
"\n\n" . "[I]Обновлено: [/I][I]" . $curDay . "[/I]"
];
$result = restCommand('imbot.message.add', [
"DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
"MESSAGE" => $arResult['title'] . "\n" . $arResult['report'] . "\n",
"ATTACH" => $arReport['attach'] ?? [], // 建议添加空数组兜底
"URL_PREVIEW" => 'N' // ? 关键:全局禁用链接预览
], $_REQUEST["auth"]);
⚠️ 注意事项与最佳实践
- 位置关键:URL_PREVIEW 必须与 "MESSAGE"、"DIALOG_ID" 同级,不可嵌套在 ATTACH 或其他子数组中;
- 仅对 imbot.message.add 生效:此参数不适用于 im.message.add(普通用户消息)或 Webhook 回调响应;
- 不影响 URL 可点击性:禁用预览后,所有 [URL=...] 链接仍可正常跳转,仅移除底部卡片;
- 兼容性保障:自 Bitrix24 20.1000+ 及 On-Premise 21.100+ 版本起稳定支持,旧版本需升级;
- 调试建议:若禁用后仍有预览残留,请检查是否误将 URL_PREVIEW 写为 'NO'、false 或遗漏引号(应为 'N' 字符串)。
? 进阶提示:优化长消息体验
除关闭预览外,还可进一步提升可读性:
- 使用 [BR] 或 \n\n 显式分隔段落,避免 Bitrix 自动合并换行;
- 对超长标题启用 [TRUNCATE=50]...[/TRUNCATE] 控制截断长度;
- 若需保留部分链接预览(如仅首条重要新闻),可改用 ATTACH 数组 + type=link 手动构造单个预览,实现精准控制。
通过 URL_PREVIEW => 'N' 这一简洁参数,您即可彻底告别预览干扰,让新闻列表回归清晰、紧凑、用户友好的原生呈现。











