public async Task ShowAuditLogVersionOne(CommandContext context, [Description("The moderator who took action to filter on.")] DiscordUser moderator = null, [Description("The member who had action taken against them to filter on.")] DiscordUser member = null, [Description("The kind of action taken to filter on")] ModerationActionType action = ModerationActionType.NONE) { using IBotAccessProvider provider = this.providerBuilder.Build(); ulong?modUserId = moderator?.Id; ulong?userUserId = member?.Id; List <GuildModerationAuditRecord> auditRecords = provider.GetGuildModerationAuditRecords(context.Guild.Id, modUserId, userUserId, action).ToList(); IReadOnlyCollection <DiscordMember> memberList = await context.Guild.GetAllMembersAsync(); IDictionary <ulong, DiscordMember> memberDict = memberList.ToDictionary(member => member.Id); List <Page> auditPages = GenerateAuditPages(auditRecords, memberDict, context.Client.CurrentUser); InteractivityExtension interactivity = context.Client.GetInteractivity(); await interactivity.SendPaginatedMessageAsync(context.Channel, context.User, auditPages, emojis : null, behaviour : PaginationBehaviour.Ignore, PaginationDeletion.DeleteMessage, timeoutoverride : TimeSpan.FromMinutes(5)); }