Пример #1
0
        public async Task <ActionResult> Index(string user_key, string type, string content)
        {
            try
            {
                // covert from Kakao talk message to Bot Builder Activity
                Activity activity = new Activity
                {
                    // Bot 에서 메시지가 kakao로 부터 요청되었음을 알수 있도록 name에 kakao를 써준다.
                    From = new ChannelAccount(id: user_key, name: "kakao"),
                    Type = ActivityTypes.Message
                };
                if (type == "text")
                {
                    activity.Text = content;
                }
                else if (type == "photo")
                {
                    activity.Attachments = new List <Attachment>();
                    activity.Attachments.Add(new Attachment
                    {
                        ContentUrl = content
                    });
                }
                var response = await conversationService.SendAndReceiveMessageAsync(user_key, activity);

                // 발견된 복수의 Activity를 넘겨서 처리
                var msg = MessageConvertor.DirectLineToKakao(response);
                return(Json(msg));
            }
            catch (Exception ex)
            {
                throw new InvalidOperationException("Direct Line 연결오류", ex);
            }
        }
        public void ConvertorShouldCorrectlyConvert()
        {
            //arrange
            var message   = "message!";
            var convertor = new MessageConvertor();

            //act
            var messageInLongFormat   = convertor.ConvertToLong(message);
            var messageInStringFormat = convertor.ConvertToString(messageInLongFormat);

            //assert
            Assert.Equal(message, messageInStringFormat);
        }