我想向用户显示多个按钮,我尝试使用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);
非常感谢任何帮助。 感谢
答案 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-replies和botbuilder-quickreplies