public async Task ShowLeaderboard(LeaderboardNamedArgs leaderboardArguments) { using (Context.Channel.EnterTypingState()) { try { await _leaderboardService.GenerateForServer( Context.Channel, Context.Guild.Id.ToString(), DateTime.Now.AddDays(-7), leaderboardArguments.WithRoles, new RealRideCategory(), new VirtualRideCategory() ); } catch (Exception e) { _logger.LogError(e, $"Failed to generate manual leaderboard for { Context.Guild.Id.ToString()}"); } } }
protected override async Task DoWork(CancellationToken cancellationToken) { _logger.LogInformation("Executing leaderboard hosted service"); var start = DateTime.Now.AddDays(-7); foreach (var leaderboard in _dbContext.Leaderboards.ToList()) { try { await _leaderboardService.GenerateForServer( _discordSocketClient.GetChannel(ulong.Parse(leaderboard.ChannelId)) as SocketTextChannel, leaderboard.ServerId, DateTime.Now.AddDays(-7), true, new RealRideCategory(), new VirtualRideCategory() ); } catch (Exception e) { _logger.LogError(e, $"Failed to generate automated leaderboard for {leaderboard.ServerId}"); } } }