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); }
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; } }