Page 29 -
P. 29

EchoDialog.cs 파일을 열어 보면  MessageReceivedAsync() 메서드를 찾을 수 있다.
                    MessageReceivedAsync() 내용은 코드 2-1과 같다.


                     코드 2-1 기본 예제 코드의 MessageReceivedAsync( ) 메서드
                                                                                                      2
                      1:        public async Task MessageReceivedAsync(IDialogContext context,
                                       IAwaitable<IMessageActivity> argument)
                      2:        {
                      3:             var message = await argument;
                      4:                                                                              개발 환경과 Hello World 봇 만들어 보기
                      5:             if (message.Text = = "reset")
                      6:             {
                      7:                 PromptDialog.Confirm(
                      8:                     context,
                      9:                     AfterResetAsync,
                      10:                    "Are you sure you want to reset the count?",
                      11:                    "Didn't get that!",
                      12:                    promptStyle: PromptStyle.Auto);
                      13:             }
                      14:             else
                      15:             {
                      16:                 await context.PostAsync($"{this.count++}: You said {message.Text}");
                      17:                 context.Wait(MessageReceivedAsync);
                      18:             }
                      19:         }


                    1번 줄에 있는 MessageReceivedAsync() 메서드는 실제 대화 내용을 처리하는 메서드로 4장에서
                    자세히 설명한다. 3번 줄에서는 사용자가 입력한 내용을 message 객체로 가져온다. 5번 줄에 있

                    는 message.Text 속성에 사용자가 보낸 메시지가 들어 있다.
                    16번 줄에서는 사용자가 보낸 메시지의 내용과 이 메시지가 몇 번째 메시지인지를 나타내는

                    count 변수의 내용을 사용자에게 출력하여 보여 주기 위해 context.PostAsync() 메서드를 이용
                    한다. 17번 줄에서는 다시 사용자에게 입력을 받기 위해 기다리는 context.Wait()를 사용한다.

                    이 예제를 실행하려면 상단에 있는 실행 버튼을 클릭하거나  F5  키를 누른다. 실행하면 오류가 발
                    생하므로 다음 절을 살펴보자.










                                                                                                  033





     가장 빨리 만나는 챗봇 프로그래밍(본문)5차.indd   33                                                     2018-12-06   오전 11:08:00
   24   25   26   27   28   29   30   31   32   33   34