public async Task ReceiveAsync(Message message, CancellationToken cancellationToken) { Trace.TraceInformation($"From: {message.From} \tContent: {message.Content}"); if (message.Content.ToString() == "Início") { callingBot = true; } if (message.Content.ToString() == "Encerrar") { callingBot = false; await _sender.SendMessageAsync("At� mais! Qualquer coisa � s� chamar novamente!", message.From, cancellationToken); } if (callingBot == true) { var navigationRequest = new NavigationRequest { NavigationType = NavigationType.Text, NavigationParameters = null, //dicionario LimeMessages = new List <Message> { message } }; var result = await _navigateExtension.GetNavigationAsync(navigationRequest, cancellationToken); //async. executa mpa await _navigateExtension.ExecuteNavigationAsync(result, cancellationToken); //bot } }
public async Task <NavigationResult> SendToMPA(List <Message> messageList, CancellationToken cancellationToken, Dictionary <string, string> navigationParameters = null) { var from = messageList.FirstOrDefault().From; var request = new NavigationRequest { LimeMessages = messageList, NavigationType = NavigationType.Text, NavigationParameters = navigationParameters == null ? new Dictionary <string, string>() : navigationParameters }; var result = await _navigation.GetNavigationAsync(request, cancellationToken); var navResult = await _navigation.ExecuteNavigationAsync(result, cancellationToken); if (result.State == NavigationState.Error || navResult?.NavigationState == NavigationState.Error) { var exception = navResult.Exception ?? result.NavigationActions.OfType <ErrorNavigationAction>().First().Exception; _logger.Error(exception, $"[NavigationError] Content: {from.ToString()};"); } return(navResult); }
public Task <NavigationResult> ExecuteNavigationAsync(NavigationResponse response, CancellationToken cancellationToken) { return(_navigationExtension.ExecuteNavigationAsync(response, cancellationToken)); }