Microsoft Bot Framework-留空格

时间:2018-07-27 18:55:34

标签: node.js botframework

session.send();中写一些文本后如何给空格

例如

session.send('Low    : 1<br/><br/>Medium : 2<br/><br/>High   : 3<br/><br/>Urgent : 4');

应将输出显示为

Low    : 1

Medium : 2

High   : 3 

Urgent : 4

Link 1我已经看过了,但这与我要搜索的内容有关

这是代码和屏幕截图

(session, args) => {

        session.dialogData.Email = args.response;

        builder.Prompts.text(session, "Set Priority");

        const msgText = `Low    : 1\n\nMedium : 2\n\nHigh   : 3\n\nUrgent : 4`;
        const msg = new builder.Message(session).text(msgText).textFormat('markdown');
        session.send(msg);

enter image description here
        }

1 个答案:

答案 0 :(得分:0)

根据渠道,您可以使用 Markdown 语法。这是一个例子。

const msgText = `Low &nbsp; &nbsp; &nbsp; &nbsp;: 1
Medium : 2
High &nbsp; &nbsp; &nbsp; : 3
Urgent &nbsp; : 4`;
const msg = new BotBuilder.Message(session)
.text(msgText)
.textFormat("markdown");
session.send(msg);

要获得Markdown支持,请检查频道检查器here。实际上,使用markdown可以做更多的事情。

我已更新代码以使用前置标记。这有帮助吗?

再次更新。以下是输出:

enter image description here

==================

尽管我认为可以通过利用BotBuilder Prompts库更好地实现您要实现的功能。这是一个示例:

bot.dialog("/", [
  function(session) {
    BotBuilder.Prompts.choice(
      session,
      "Select your option: ",
      ["Low", "Medium", "High", "Urgent"],
      { listStyle: BotBuilder.ListStyle.button }
    );
  },
  function(session, result: any) {
    session.send(
      `You selected ${result.response.index}: ${result.response.entity}`
    );
    session.endDialog();
  }
]);

利用BotBuilder.Prompts库还将帮助进行验证,因为已将对选定选项的验证内置到该库中,并且如果用户输入了一些内容,该库会自动自动提示。输出:

enter image description here