我目前正在使用 node.js 在Azure上使用MS聊天机器人。 我现在需要为用户显示一个菜单,其中涉及可能会不时更改的不同选择。
我通过API调用获取值并将其放在选项卡中,然后创建菜单并将其发送给用户。问题是:我无法从阵列中创建动态菜单
这是我尝试过的:
menu_choices = [x,y,z]
var menu = new builder.Message(session)
.text("This is the menu")
.suggestedActions(
builder.SuggestedActions.create(
session, [ function(){
menu_choices.forEach(function(choice){
builder.CardAction.imBack(session, "I want to select " + choice, choice)
})}
]));
session.send(menu);
在SuggestedActions中使用一个函数看起来很奇怪,但是我看不到如何解决这个问题,即使可能也无法解决。
谢谢,祝你有美好的一天!
答案 0 :(得分:0)
在获得Microsoft支持之后,我们找到了一种方法(主要是他们哈哈):
array_Menu = [choice1,choice2,choice3]
var menu = new builder.Message(This is the menu :")
.suggestedActions(
builder.SuggestedActions.create(
session,
array_Menu.map(function(choice) {
return builder.CardAction.imBack(session, "This is a choice : " + choice, choice)
}
)
)
);
session.send(menu);