在 Bot Framework sdk v4 nodeJS 中发送列表项
Sending List Items in Bot Framework sdk v4 nodeJS
所以我有这个代码:
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(我使用的是node JS)中是否有template/method以干净的列表格式打印? (删除 2 和 3 之间那个奇怪的换行符。)另外,如果我有
let c= ["Who", "am", "I"]
是否可以通过 .sendActivity 以列表格式打印它?谢谢!
要使您的列表正确传播,只需删除换行符 (\n
) 以及前面文本和 return 字符 (\r
) 之间的空格,如下所示:await stepContext.context.sendActivity('1. Who \r2. Am \r3. I');
。之后,它将按照您的意愿进行格式化。
至于遍历字符串数组并将格式设置为单个 activity 中的列表,以下方法将起作用:
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);
以上两种方法都产生了相同的结果,如下所示。
希望得到帮助!
所以我有这个代码:
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(我使用的是node JS)中是否有template/method以干净的列表格式打印? (删除 2 和 3 之间那个奇怪的换行符。)另外,如果我有
let c= ["Who", "am", "I"]
是否可以通过 .sendActivity 以列表格式打印它?谢谢!
要使您的列表正确传播,只需删除换行符 (\n
) 以及前面文本和 return 字符 (\r
) 之间的空格,如下所示:await stepContext.context.sendActivity('1. Who \r2. Am \r3. I');
。之后,它将按照您的意愿进行格式化。
至于遍历字符串数组并将格式设置为单个 activity 中的列表,以下方法将起作用:
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);
以上两种方法都产生了相同的结果,如下所示。
希望得到帮助!