使用 Azure 聊天机器人创建 "dynamic" 菜单

Create a "dynamic" menu with Azure Chatbot

我目前正在 Azure 上使用 MS 聊天机器人,使用 node.js 我现在需要为用户显示一个菜单,其中包含可能会不时更改的不同选择。

我通过 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 中使用函数看起来很奇怪,但我不知道如何解决这个问题,或者即使它可能与否。

谢谢,祝你有美好的一天!

在与 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);