diff --git a/src/Commands/SettingsCommandGroup.cs b/src/Commands/SettingsCommandGroup.cs index fb0eb45..47f2733 100644 --- a/src/Commands/SettingsCommandGroup.cs +++ b/src/Commands/SettingsCommandGroup.cs @@ -287,13 +287,17 @@ public class SettingsCommandGroup : CommandGroup private async Task ResetAllSettingsAsync(JsonNode cfg, IUser currentUser, CancellationToken ct = default) { - foreach (var option in AllOptions) + var failedResults = new List(); + foreach (var resetResult in AllOptions.Select(option => option.Reset(cfg))) { - var resetResult = option.Reset(cfg); - if (!resetResult.IsSuccess) - { - return Result.FromError(resetResult.Error); - } + failedResults.AddIfFailed(resetResult); + } + + var errors = failedResults.AggregateErrors(); + + if (!errors.IsSuccess) + { + return errors; } var embed = new EmbedBuilder().WithSmallTitle(Messages.AllSettingsReset, currentUser)