显示多个按钮 botframework fb messenger

Multiple Buttons Displayed botframework fb messenger

我想向用户显示多个按钮,我尝试使用 builder.prompts.choice 方法,但它似乎影响了我的对话逻辑。

session.send(new builder.Prompts.choice(session, "Options", "ratios|chart|more|add", {listStyle: builder.ListStyle.button}));

我正在使用机器人框架连接到多个渠道并处理 input/output 但它不处理我的对话逻辑,这是由 Watson 单独完成的。一张没有文字或标题,只有按钮的英雄卡会起作用吗,因为我还没有让它起作用。理想情况下,我希望将按钮单击作为输入文本消息发送到机器人。我正在使用 node.js,并连接到 fb messenger。我不想使用 channelData,因为我计划扩展到其他平台

var hero = new builder.HeroCard(session)
  .title("title")
  .text("text")
  .buttons([
      builder.CardAction.imBack(session, "news", "news"),
      builder.CardAction.imBack(session, "news1", "news1"),
      builder.CardAction.imBack(session, "news2", "news2")
  ]);
session.send(hero);

如有任何帮助,我们将不胜感激。 谢谢

您还有其他几个选项,一个是建议的操作。建议操作的好处是,一旦用户点击他们的响应,操作就会消失。这意味着您不必担心通过不按顺序单击某些内容来处理用户响应。例如,您可以 运行 使用英雄卡解决此问题。

var msg = new builder.Message(session)
    .text("Thank you for expressing interest in our premium golf shirt! What color of shirt would you like?")
    .suggestedActions(
        builder.SuggestedActions.create(
                session, [
                    builder.CardAction.imBack(session, "productId=1&color=green", "Green"),
                    builder.CardAction.imBack(session, "productId=1&color=blue", "Blue"),
                    builder.CardAction.imBack(session, "productId=1&color=red", "Red")
                ]
            ));
session.send(msg);

由于您使用的是 facebook 频道,因此您还可以使用 facebook quick replys. Sorry I do not have a node example of this, but I see there are multiple NPM libraries which will help you to use them. Such as facebook-quick-replies and botbuilder-quickreplies