在 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);

以上两种方法都产生了相同的结果,如下所示。

希望得到帮助!