2016-05-15 39 views
1

我的機器人(使用MS BotFramework)應該會聽到對話流。如果有人提到「聊天機器人」,它應該說'我在這裏!',否則保持安靜。這似乎很簡單,也許它是,但我很難試圖實現它。這是我有:結束對話

bot.add('/', function(session) { 
    if (someoneSaidChatbot) { 
    session('Here I am!") 
    } else { 
    // session.reset(), maybe? No! 
    // session.endDialog() then? Uh...nope. 
    // nothing? Hmmm. negative 
    } 
}); 

所以,沒有什麼作品。如果我離開那裏,機器人就會掛起,並停止收聽流或回答命令。 有什麼想法?

回答

1

當有人鍵入「chatbot」作爲話語的一部分時,此代碼結束對話框。這是你想要的?

bot.add('/', function (session) { 
    if (session.message.text.search("chatbot") >= 0) { 
     session.endDialog("Here I am"); 
    } 
}); 
0

它也可能取決於您使用的是哪個通道。某些頻道不能讓Bot收聽對話中的所有消息。

1

我想建議使用endConversationAction()註冊一個機器人全局操作

bot.endConversationAction(
     'enddialog',     //dialog Id 
     'Here I am',     //message 
     { matches: /^.*chatbot/i } //match pattern 
    ); 

,因爲這是全球性的行動,任何時候當機器人聽到「聊天機器人」,它會說「我在這裏」,如果有是堆棧中的一些對話框,您提出的解決方案可能無法工作。