首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook机器人消息不显示空行

Facebook机器人消息不显示空行
EN

Stack Overflow用户
提问于 2019-05-28 19:13:04
回答 1查看 100关注 0票数 1

我已经使用Microsoft bot框架创建了一个聊天机器人,并将其部署在Azure上,并将其链接到我的Facebook页面。一切正常,但有一个小问题,那就是,机器人发送的一条消息有2-3个不同行的组合,我想显示由空行分隔的3行,所以我在行之间添加了转义序列"\n\n“。

代码语言:javascript
复制
"Line1\n\nLine2\n\nLine3"

当我在Azure网络聊天中测试它时,它工作得很好,但是Facebook聊天窗口不显示空行,有人能帮我吗?提前谢谢。

当前人脸显示消息如下

代码语言:javascript
复制
Line1
Line2
Line3

我想把它显示为

代码语言:javascript
复制
Line 1

Line 2

Line 3 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 04:04:50

您的消息文本正在通过一个相当激进的Markdown解析器运行,该解析器会去掉多余的换行符。对于如何处理这个问题,您有几个选择。

选项1

如果您将文本设置为频道数据而不是实际的活动文本,它将不会通过Markdown解析器运行:

代码语言:javascript
复制
var text = "Line1\n\nLine2\n\nLine3";
var activity = turnContext.Activity.CreateReply();
activity.ChannelData = new { text };
await turnContext.SendActivityAsync(activity);

选项2

如果将文本格式设置为纯文本,文本将不会通过Markdown解析器运行:

代码语言:javascript
复制
var text = "Line1\n\nLine2\n\nLine3";
var activity = turnContext.Activity.CreateReply(text);
activity.TextFormat = TextFormatTypes.Plain;
await turnContext.SendActivityAsync(activity);

选项3

如果要将通道数据用于其他用途,并且不想将文本格式设置为纯文本,则可以始终使用<br/>而不是\n

代码语言:javascript
复制
var text = "Line1<br/><br/>Line2<br/><br/>Line3";
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56340935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档