2016-05-15 8 views
1

私のbot(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

このコードは、誰かが発声の一部として「チャットボット」を入力したときにダイアログを終了します。これはあなたが探しているものですか?

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

これは、使用しているチャンネルによっても異なる場合があります。一部のチャンネルでは、ボットが会話内のすべてのメッセージを聴くことができません。

1

私があれば、これはボットが「チャットボット」を聞いたときにいつでも、それは「私はここに」と言うだろう、世界的な行動であるため、ボットグローバルアクション

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

を登録するために使用endConversationAction()を提案したいと思いますがスタック内にいくつかのダイアログが表示されている場合、提案されたソリューションが機能しない可能性があり