diff --git a/TeamOctolings.Octobot/Commands/SettingsCommandGroup.cs b/TeamOctolings.Octobot/Commands/SettingsCommandGroup.cs index bd8a38d..15aa42b 100644 --- a/TeamOctolings.Octobot/Commands/SettingsCommandGroup.cs +++ b/TeamOctolings.Octobot/Commands/SettingsCommandGroup.cs @@ -202,7 +202,7 @@ public sealed class SettingsCommandGroup : CommandGroup IGuildOption option, string value, GuildData data, Snowflake channelId, IUser executor, IUser bot, CancellationToken ct = default) { - var equalsResult = option.ValueEquals(data.Settings, value, out var equals); + var equalsResult = option.ValueEquals(data.Settings, value); if (!equalsResult.IsSuccess) { var failedEmbed = new EmbedBuilder().WithSmallTitle(Messages.SettingNotChanged, bot) @@ -213,7 +213,7 @@ public sealed class SettingsCommandGroup : CommandGroup return await _feedback.SendContextualEmbedResultAsync(failedEmbed, ct: ct); } - if (equals) + if (equalsResult.Entity) { var failedEmbed = new EmbedBuilder().WithSmallTitle(Messages.SettingNotChanged, bot) .WithDescription(Messages.SettingValueEquals) diff --git a/TeamOctolings.Octobot/Data/Options/BoolOption.cs b/TeamOctolings.Octobot/Data/Options/BoolOption.cs index 7533087..3b81abb 100644 --- a/TeamOctolings.Octobot/Data/Options/BoolOption.cs +++ b/TeamOctolings.Octobot/Data/Options/BoolOption.cs @@ -12,16 +12,14 @@ public sealed class BoolOption : GuildOption return Get(settings) ? Messages.Yes : Messages.No; } - public override Result ValueEquals(JsonNode settings, string value, out bool equals) + public override Result ValueEquals(JsonNode settings, string value) { if (!TryParseBool(value, out var boolean)) { - equals = false; return new ArgumentInvalidError(nameof(value), Messages.InvalidSettingValue); } - equals = Value(settings).Equals(boolean.ToString()); - return Result.Success; + return Value(settings).Equals(boolean.ToString()); } public override Result Set(JsonNode settings, string from) diff --git a/TeamOctolings.Octobot/Data/Options/GuildOption.cs b/TeamOctolings.Octobot/Data/Options/GuildOption.cs index 59df43b..ea9c30e 100644 --- a/TeamOctolings.Octobot/Data/Options/GuildOption.cs +++ b/TeamOctolings.Octobot/Data/Options/GuildOption.cs @@ -31,10 +31,9 @@ public class GuildOption : IGuildOption return Markdown.InlineCode(Value(settings)); } - public virtual Result ValueEquals(JsonNode settings, string value, out bool equals) + public virtual Result ValueEquals(JsonNode settings, string value) { - equals = Value(settings).Equals(value); - return Result.Success; + return Value(settings).Equals(value); } /// diff --git a/TeamOctolings.Octobot/Data/Options/IGuildOption.cs b/TeamOctolings.Octobot/Data/Options/IGuildOption.cs index 011c282..9920281 100644 --- a/TeamOctolings.Octobot/Data/Options/IGuildOption.cs +++ b/TeamOctolings.Octobot/Data/Options/IGuildOption.cs @@ -7,7 +7,7 @@ public interface IGuildOption { string Name { get; } string Display(JsonNode settings); - Result ValueEquals(JsonNode settings, string value, out bool equals); + Result ValueEquals(JsonNode settings, string value); Result Set(JsonNode settings, string from); Result Reset(JsonNode settings); }