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));
        }