public async Task <List <AuditItem> > GetAuditLogsAsync(LogsFilter filter) { var guild = Client.GetGuild(filter.GuildId); if (guild == null) { return(new List <AuditItem>()); } var queryFilter = await CreateQueryFilterAsync(filter, guild); var data = await GrillBotRepository.AuditLogs.GetAuditLogsQuery(queryFilter) .Skip(queryFilter.Skip).Take(queryFilter.Take).ToListAsync(); var items = new List <AuditItem>(); foreach (var item in data) { var user = item.User == null ? null : await UserHelper.MapUserAsync(Client, BotState, item.User); var auditItem = await AuditItem.CreateAsync(guild, item, user, MessageCache); items.Add(auditItem); } return(items); }