示例#1
0
        public async Task <bool> SendSelectMainTeamFlowAsync(Message message, UserContext userContext, CancellationToken cancellationToken)
        {
            try
            {
                if (message.Content.ToString().Contains("SelectMainTeam_"))
                {
                    var teamTag      = message.Content.ToString().Split('_')[1];
                    var teamListName = "Alert_" + teamTag;
                    await _broadcastExtension.UpdateDistributionListAsync(teamListName, message.From.ToIdentity(), cancellationToken);

                    userContext.MainTeam = teamTag;
                    userContext.AlertTeams.Add(teamTag);
                    await _contextManager.SetUserContextAsync(message.From, userContext, cancellationToken);

                    await _sender.SendMessageAsync("Awesome! I added you to my list for that team and will notify you of any matches 30mins earlier!", message.From, cancellationToken);
                }
                await _sender.SendDelayedComposingAsync(message.From, 2000, cancellationToken);

                await _sender.SendMessageAsync("What can I help you with?", message.From, cancellationToken);

                var carousel = _carouselBuilder.GetMainMenuCarousel();
                carousel.To = message.From;
                await _sender.SendMessageAsync(carousel, cancellationToken);

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public async Task UpdateDistributionListAsync(string test, bool expectedResult)
        {
            var result = await broadcastExtension.UpdateDistributionListAsync(test, node.ToIdentity(), cancellationToken);

            result.ShouldBe(expectedResult);
        }