2017-05-30 11 views
-3

Microsoftボットフレームワークで継続的な会話チャットが必要です。Microsoftボットフレームワークの最後のメッセージに基づく継続的な会話

場合(ユーザが挨拶)
{
返信= what u want to listen hi or hello
----- ----- {(ユーザーがHi言う)
場合
--------返信= hi
-----}
----(ユーザが挨拶)場合
- {
-------返信= hello
---}
}

+0

明確にしてくださいあなたの質問に応じて投稿をフォーマットしてください。あなたが現在尋ねていることを理解するのが難しいです –

+0

私はフォーマットしようとしました..私はボットが質問し、最後の質問に基づいて応答します。 –

+0

あなたはどの言語を使用していますか? C#またはノード? –

答えて

1

が、これはC#であり、あなたがIDialog<T>ベースのダイアログを使用している、あなたは次の操作を行うことができると仮定すると...ボットはまた、質問をし、それに応じてそれに答える必要があります意味:

private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result) 
{ 
    var message = await result; 

    if (message.Text.Equals("hello", StringComparison.InvariantCultureIgnoreCase)) 
    { 
     PromptDialog.Text(context, this.ResumeAfterPrompt, "What u want to listen hi or hello"); 
    } 
    else 
    { 
     // do something 
     context.Wait(this.MessageReceivedAsync); 
    } 
} 

private async Task ResumeAfterPrompt(IDialogContext context, IAwaitable<string> result) 
{ 
    try 
    { 
     var userMessage = await result; 

     switch (userMessage.ToLowerInvariant()) 
     { 
      case "hi": 
       await context.PostAsync("hi"); 
       break; 
      case "hello": 
       await context.PostAsync("hello"); 
       break; 
      default: 
       // do something; 
       break; 
     } 
    } 
    catch (TooManyAttemptsException) 
    { 
     // do something with the exception 
    } 

    context.Wait(this.MessageReceivedAsync); 
} 
関連する問題