public async Task <PhraseServiceModel> GetPhrase(string messageToSent)
        {
            PhraseServiceModel phraseResponse = new PhraseServiceModel {
                Content = string.Empty
            };

            try {
                StartConversationResponse conversationStart = await directLineClientService.StartConversationAsync();

                await directLineClientService.SendMessageAsync(conversationStart.ConversationId, messageToSent);

                ConversationMessages conversationMessages = await directLineClientService.GetMessagesAsync(conversationStart.ConversationId, "");

                var content = new StringBuilder();
                foreach (Message messageFromBot in conversationMessages.Messages)
                {
                    if (messageFromBot.Text != null && messageFromBot.Text != messageToSent)
                    {
                        content.AppendLine(messageFromBot.Text);
                    }
                }

                phraseResponse.Content = content.ToString();
            }
            catch (Exception e)
            {
                phraseResponse.Content = "¿No le he entendido, por favor podría repetir la pregunta?";
            }

            return(phraseResponse);
        }
Exemplo n.º 2
0
        private async Task StartConversation()
        {
            const string secret = "";

            _directLineApi             = new DirectLineAPIClient(secret);
            _startConversationResponse = await _directLineApi.StartConversationAsync();
        }
        public async Task <StartConversationResponse> StartConversationAsync()
        {
            try
            {
                var conversation = this.client.StartConversationAsync();
                conversation.Result.EnsureSuccessStatusCode();

                dynamic json = await conversation.Result.Content.ReadAsStringAsync();

                StartConversationResponse result = JsonConvert.DeserializeObject <StartConversationResponse>(json);

                if (result.ConversationId == null)
                {
                    throw new Exception($"Could not convert JSON object to {nameof(StartConversationResponse)}");
                }

                return(result);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }