Bitrix聊天机器人如何关闭链接预览并解决长消息滚动问题
Bitrix新闻聊天机器人问题修复
关闭链接自动预览
别改你现有拼接BBcode的逻辑,这个自动预览是Bitrix IM接口的默认行为:系统会自动抓取消息里出现的第一个链接,在消息底部生成预览卡片。
解决方法很简单,调用消息发送接口(一般是im.message.add)的时候,新增传参'URL_PREVIEW' => 'N',就能直接关掉当前消息的自动链接预览,不会再出现多余的预览块。
修复长消息强制滚动问题
消息出现滚动条是因为Bitrix对单块纯文本/BBcode消息有固定最大高度限制,内容超了就会出滚动条,两个方法解决:
- 先精简排版:你现在每条新闻之间留了两个换行,大量空行占了不必要的高度,把新闻条目之间的
\n\n改成\n,只在最后更新时间前面留两个换行做区隔就行,能直接压缩一大块高度 - 控制单条消息的内容量:你本来做的就是按需加载逻辑,没必要一次塞太多内容,单次推送3-4条新闻刚好;如果后续要加更多内容,别全拼在一个文本字段里,改用Bitrix的Attach富媒体附件结构,把每条新闻拆成独立的小卡片,就不会触发单文本块的高度限制。
调整后的代码参考
$arResult = array( '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" . '[ICON=https://emoji-uc.akamaized.net/orig/09/f815148913a719eb63263593996d54.png title=Смайлик] ' . $Myarr[1] . '. ' . '[URL=' . $Myarrlink[1] . ']Читать далее ➤' . '[/URL]' . "\n" . '[ICON=https://emoji-uc.akamaized.net/orig/09/f815148913a719eb63263593996d54.png title=Смайлик] ' . $Myarr[2] . '. ' . '[URL=' . $Myarrlink[2] . ']Читать далее ➤' . '[/URL]' . "\n" . '[ICON=https://emoji-uc.akamaized.net/orig/09/f815148913a719eb63263593996d54.png title=Смайлик] ' . $Myarr[3] . '. ' . '[URL=' . $Myarrlink[3] . ']Читать далее ➤' . '[/URL]' . "\n\n" . "[I]Обновлено: [/I]" . "[I]" . $curDay . "[/I]" ); // 发送消息时记得加关闭预览的参数 Bitrix\Im\Message::add([ // 你原有的其他必填参数:对话ID、发送者ID等 'MESSAGE' => $arResult['title'] . $arResult['report'], 'URL_PREVIEW' => 'N' // 核心参数,关闭自动链接预览 ]);
内容的提问来源于stack exchange,提问作者Handler Kwakwa
相关产品推荐
相关产品推荐

