多个按钮显示botframework fb messenger

时间:2018-03-19 00:46:25

标签: node.js botframework facebook-messenger messenger facebook-messenger-bot

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

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

我使用bot框架连接到多个通道并处理输入/输出但它不处理我的会话逻辑,这是由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);

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

您还有其他几个选项,一个是建议的操作。建议操作的好处是,一旦用户点击他们的响应,操作就会消失。这意味着您不必担心通过点击不合适的东西来处理用户响应。例如,您可以使用英雄卡遇到此问题。

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。对不起,我没有这个节点的例子,但我看到有多个NPM库可以帮助你使用它们。例如facebook-quick-repliesbotbuilder-quickreplies