所以我有这个代码。
if(channelData.message.text == "test") {
await stepContext.context.sendActivity("1. Who \n\r 2. Am \n\r 3. I ");
}
给我一个消息(通过FB Messenger频道),如下图所示。
问题: 在bot framewwork sdk 4中有没有什么templatem方法(我用的是node JS)可以把它打印成一个干净的列表格式?(去掉2.和3.之间那个奇怪的新行)另外,如果我有 let c= ["Who", "am", "I"]
有什么办法可以通过.sendActivity以列表格式打印出来吗?谢谢!所以我有这样的代码:if(channelData.message.text == "test" { await stepContext.context.sendActivity(
要使你的列表正确传播,只需删除新的行字符(\n
)和前文与回车符之间的空格(\r
),像这样。await stepContext.context.sendActivity('1. Who \r2. Am \r3. I');
. 之后,它将按照你的意愿进行格式化。
至于在一个活动中迭代一个字符串数组并格式化为一个列表,下面的方法就可以了。
const msgArray = ['Who', 'Am', 'I'];
const message = MessageFactory.text('');
msgArray.forEach((val, index) => {
if (!message.text) {
message.text = `${ index + 1 }. ${ val }\r`;
} else if (message.text) {
console.log(message.text);
message.text = message.text.concat(`${ index + 1 }. ${ val }\r`);
}
});
return await stepContext.context.sendActivity(message);
以上两种方法对我来说都产生了相同的结果,如下图所示。
希望对你有所帮助