public async Task <RuntimeResult> ListOwnedRoleplaysAsync(IGuildUser?discordUser = null) { if (discordUser is null) { var authorUser = this.Context.User; if (!(authorUser is IGuildUser guildUser)) { return(RuntimeCommandResult.FromError("The owner isn't a guild user.")); } discordUser = guildUser; } var getUserRoleplays = await _discordRoleplays.GetUserRoleplaysAsync(discordUser); if (!getUserRoleplays.IsSuccess) { return(getUserRoleplays.ToRuntimeResult()); } var roleplays = getUserRoleplays.Entity.ToList(); var appearance = PaginatedAppearanceOptions.Default; appearance.Title = "Your roleplays"; appearance.Author = discordUser; var paginatedEmbed = PaginatedEmbedFactory.SimpleFieldsFromCollection ( _feedback, _interactivity, this.Context.User, roleplays, r => r.Name, r => r.Summary, "You don't have any roleplays.", appearance ); await _interactivity.SendInteractiveMessageAndDeleteAsync ( this.Context.Channel, paginatedEmbed, TimeSpan.FromMinutes(5.0) ); return(RuntimeCommandResult.FromSuccess()); }