public async Task <bool> ProcessReportLogger() { while (_currentStep != null) { _currentStep.OnMessageAdded += (m) => messages.Add(m); var isCancled = await _currentStep.ProcessStep(_client, _channel, _user) .ConfigureAwait(false); if (isCancled) { await DeleteMessagesAsync().ConfigureAwait(false); var cancelEmbed = new DiscordEmbedBuilder { Title = "The report was terminated", Color = DiscordColor.PhthaloGreen }; await _channel.SendMessageAsync(embed : cancelEmbed).ConfigureAwait(false); return(false); } _currentStep = _currentStep.NextStep; } await DeleteMessagesAsync().ConfigureAwait(false); return(true); }
public MeetingSchedulerHandler( DiscordClient client, DiscordChannel channel, DiscordUser user, IMeetingSchedulerStep startingStep) { _client = client; _channel = channel; _user = user; _currentStep = startingStep; }
public TitleStep(string content, IMeetingSchedulerStep nextStep) : base(content) { _nextStep = nextStep; }