欢迎消息重复节点js bot中的每条消息

时间:2018-04-18 11:36:29

标签: node.js botframework microsoft-teams

我正在为我的节点js bot使用ADFS身份验证,它将与微软团队集成。

我的问题是,当我登录僵尸时,我收到了欢迎信息 -

 (session, results, next) => {
      if (session.userData.userName && session.userData.accessToken && session.userData.refreshToken ) {

              builder.Prompts.text(session, "Welcome " + session.userData.userName + "! You are currently logged in into Hotel Bot. Type 'Help' for Bot Help ");

              }

        else {
          session.endConversation("Goodbye.");
        }
      },

它是root对话框的一部分。

现在在此之后,当我试图询问任何东西时,每条消息都会重复这条欢迎信息。 如果我评论此提示,那么机器人停止响应。

帮助我如何摆脱这个重复的消息

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试添加https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-handle-conversation-events#add-a-first-run-dialog中介绍的首播对话

以下示例:

// Add first run dialog
bot.dialog('firstRun', function (session) {    
    session.userData.firstRun = true;
    session.send("Hello...").endDialog();
}).triggerAction({
    onFindAction: function (context, callback) {
        // Only trigger if we've never seen user before
        if (!context.userData.firstRun) {
            // Return a score of 1.1 to ensure the first run dialog wins
            callback(null, 1.1);
        } else {
            callback(null, 0.0);
        }
    }
});

利用客户变量firstRun来检查用户是否已经来过。您还可以在onFindAction事件中构建自己的逻辑。