From 76818e28d7954855f99b9633a56e229f1d5492aa Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sun, 15 Nov 2020 00:30:20 +0100 Subject: [PATCH] Fix deserialization mistakes --- .../ExamplePlugin.cs | 2 +- .../GlobalConfigExtension.cs | 2 +- ArchiSteamFarm/BotConfig.cs | 52 +++++++++---------- ArchiSteamFarm/GlobalConfig.cs | 50 +++++++++--------- ArchiSteamFarm/GlobalDatabase.cs | 2 +- 5 files changed, 54 insertions(+), 54 deletions(-) diff --git a/ArchiSteamFarm.CustomPlugins.ExamplePlugin/ExamplePlugin.cs b/ArchiSteamFarm.CustomPlugins.ExamplePlugin/ExamplePlugin.cs index 01d699af4..7a60aaca9 100644 --- a/ArchiSteamFarm.CustomPlugins.ExamplePlugin/ExamplePlugin.cs +++ b/ArchiSteamFarm.CustomPlugins.ExamplePlugin/ExamplePlugin.cs @@ -41,7 +41,7 @@ namespace ArchiSteamFarm.CustomPlugins.ExamplePlugin { internal sealed class ExamplePlugin : IASF, IBot, IBotCommand, IBotConnection, IBotFriendRequest, IBotMessage, IBotModules, IBotTradeOffer { // Plugins can expose custom properties for our GET /Api/Plugins API call, simply annotate them with [JsonProperty] (or keep public) [JsonProperty] - public readonly bool CustomIsEnabledField = true; + public bool CustomIsEnabledField { get; private set; } = true; // This is used for identification purposes, typically you want to use a friendly name of your plugin here, such as the name of your main class // Please note that this property can have direct dependencies only on structures that were initialized by the constructor, as it's possible to be called before OnLoaded() takes place diff --git a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalConfigExtension.cs b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalConfigExtension.cs index 1891ad173..ea7ef7110 100644 --- a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalConfigExtension.cs +++ b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalConfigExtension.cs @@ -24,7 +24,7 @@ using Newtonsoft.Json; namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper { public sealed class GlobalConfigExtension { [JsonProperty] - public readonly bool SteamTokenDumperPluginEnabled; + public bool SteamTokenDumperPluginEnabled { get; private set; } [JsonConstructor] internal GlobalConfigExtension() { } diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs index f0c8b807b..56a492556 100644 --- a/ArchiSteamFarm/BotConfig.cs +++ b/ArchiSteamFarm/BotConfig.cs @@ -138,82 +138,82 @@ namespace ArchiSteamFarm { private static readonly SemaphoreSlim WriteSemaphore = new(1, 1); [JsonProperty(Required = Required.DisallowNull)] - public bool AcceptGifts { get; } = DefaultAcceptGifts; + public bool AcceptGifts { get; private set; } = DefaultAcceptGifts; [JsonProperty(Required = Required.DisallowNull)] - public bool AutoSteamSaleEvent { get; } = DefaultAutoSteamSaleEvent; + public bool AutoSteamSaleEvent { get; private set; } = DefaultAutoSteamSaleEvent; [JsonProperty(Required = Required.DisallowNull)] - public EBotBehaviour BotBehaviour { get; } = DefaultBotBehaviour; + public EBotBehaviour BotBehaviour { get; private set; } = DefaultBotBehaviour; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet CompleteTypesToSend { get; } = DefaultCompleteTypesToSend; + public ImmutableHashSet CompleteTypesToSend { get; private set; } = DefaultCompleteTypesToSend; [JsonProperty] - public string? CustomGamePlayedWhileFarming { get; } = DefaultCustomGamePlayedWhileFarming; + public string? CustomGamePlayedWhileFarming { get; private set; } = DefaultCustomGamePlayedWhileFarming; [JsonProperty] - public string? CustomGamePlayedWhileIdle { get; } = DefaultCustomGamePlayedWhileIdle; + public string? CustomGamePlayedWhileIdle { get; private set; } = DefaultCustomGamePlayedWhileIdle; [JsonProperty(Required = Required.DisallowNull)] - public bool Enabled { get; } = DefaultEnabled; + public bool Enabled { get; private set; } = DefaultEnabled; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableList FarmingOrders { get; } = DefaultFarmingOrders; + public ImmutableList FarmingOrders { get; private set; } = DefaultFarmingOrders; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet GamesPlayedWhileIdle { get; } = DefaultGamesPlayedWhileIdle; + public ImmutableHashSet GamesPlayedWhileIdle { get; private set; } = DefaultGamesPlayedWhileIdle; [JsonProperty(Required = Required.DisallowNull)] - public byte HoursUntilCardDrops { get; } = DefaultHoursUntilCardDrops; + public byte HoursUntilCardDrops { get; private set; } = DefaultHoursUntilCardDrops; [JsonProperty(Required = Required.DisallowNull)] - public bool IdlePriorityQueueOnly { get; } = DefaultIdlePriorityQueueOnly; + public bool IdlePriorityQueueOnly { get; private set; } = DefaultIdlePriorityQueueOnly; [JsonProperty(Required = Required.DisallowNull)] - public bool IdleRefundableGames { get; } = DefaultIdleRefundableGames; + public bool IdleRefundableGames { get; private set; } = DefaultIdleRefundableGames; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet LootableTypes { get; } = DefaultLootableTypes; + public ImmutableHashSet LootableTypes { get; private set; } = DefaultLootableTypes; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet MatchableTypes { get; } = DefaultMatchableTypes; + public ImmutableHashSet MatchableTypes { get; private set; } = DefaultMatchableTypes; [JsonProperty(Required = Required.DisallowNull)] - public EPersonaState OnlineStatus { get; } = DefaultOnlineStatus; + public EPersonaState OnlineStatus { get; private set; } = DefaultOnlineStatus; [JsonProperty(Required = Required.DisallowNull)] - public ArchiCryptoHelper.ECryptoMethod PasswordFormat { get; } = DefaultPasswordFormat; + public ArchiCryptoHelper.ECryptoMethod PasswordFormat { get; private set; } = DefaultPasswordFormat; [JsonProperty(Required = Required.DisallowNull)] - public bool Paused { get; } = DefaultPaused; + public bool Paused { get; private set; } = DefaultPaused; [JsonProperty(Required = Required.DisallowNull)] - public ERedeemingPreferences RedeemingPreferences { get; } = DefaultRedeemingPreferences; + public ERedeemingPreferences RedeemingPreferences { get; private set; } = DefaultRedeemingPreferences; [JsonProperty(Required = Required.DisallowNull)] - public bool SendOnFarmingFinished { get; } = DefaultSendOnFarmingFinished; + public bool SendOnFarmingFinished { get; private set; } = DefaultSendOnFarmingFinished; [JsonProperty(Required = Required.DisallowNull)] - public byte SendTradePeriod { get; } = DefaultSendTradePeriod; + public byte SendTradePeriod { get; private set; } = DefaultSendTradePeriod; [JsonProperty(Required = Required.DisallowNull)] - public bool ShutdownOnFarmingFinished { get; } = DefaultShutdownOnFarmingFinished; + public bool ShutdownOnFarmingFinished { get; private set; } = DefaultShutdownOnFarmingFinished; [JsonProperty] - public string? SteamTradeToken { get; } = DefaultSteamTradeToken; + public string? SteamTradeToken { get; private set; } = DefaultSteamTradeToken; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableDictionary SteamUserPermissions { get; } = DefaultSteamUserPermissions; + public ImmutableDictionary SteamUserPermissions { get; private set; } = DefaultSteamUserPermissions; [JsonProperty(Required = Required.DisallowNull)] - public ETradingPreferences TradingPreferences { get; } = DefaultTradingPreferences; + public ETradingPreferences TradingPreferences { get; private set; } = DefaultTradingPreferences; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet TransferableTypes { get; } = DefaultTransferableTypes; + public ImmutableHashSet TransferableTypes { get; private set; } = DefaultTransferableTypes; [JsonProperty(Required = Required.DisallowNull)] - public bool UseLoginKeys { get; } = DefaultUseLoginKeys; + public bool UseLoginKeys { get; private set; } = DefaultUseLoginKeys; [JsonProperty(Required = Required.DisallowNull)] public ulong SteamMasterClanID { get; private set; } = DefaultSteamMasterClanID; diff --git a/ArchiSteamFarm/GlobalConfig.cs b/ArchiSteamFarm/GlobalConfig.cs index 63746804b..2972775c9 100644 --- a/ArchiSteamFarm/GlobalConfig.cs +++ b/ArchiSteamFarm/GlobalConfig.cs @@ -127,73 +127,73 @@ namespace ArchiSteamFarm { private static readonly SemaphoreSlim WriteSemaphore = new(1, 1); [JsonProperty(Required = Required.DisallowNull)] - public bool AutoRestart { get; } = DefaultAutoRestart; + public bool AutoRestart { get; private set; } = DefaultAutoRestart; [JsonProperty(Required = Required.DisallowNull)] - public ImmutableHashSet Blacklist { get; } = DefaultBlacklist; + public ImmutableHashSet Blacklist { get; private set; } = DefaultBlacklist; [JsonProperty] - public string? CommandPrefix { get; } = DefaultCommandPrefix; + public string? CommandPrefix { get; private set; } = DefaultCommandPrefix; [JsonProperty(Required = Required.DisallowNull)] - public byte ConfirmationsLimiterDelay { get; } = DefaultConfirmationsLimiterDelay; + public byte ConfirmationsLimiterDelay { get; private set; } = DefaultConfirmationsLimiterDelay; [JsonProperty(Required = Required.DisallowNull)] - public byte ConnectionTimeout { get; } = DefaultConnectionTimeout; + public byte ConnectionTimeout { get; private set; } = DefaultConnectionTimeout; [JsonProperty] - public string? CurrentCulture { get; } = DefaultCurrentCulture; + public string? CurrentCulture { get; private set; } = DefaultCurrentCulture; [JsonProperty(Required = Required.DisallowNull)] - public bool Debug { get; } = DefaultDebug; + public bool Debug { get; private set; } = DefaultDebug; [JsonProperty(Required = Required.DisallowNull)] - public byte FarmingDelay { get; } = DefaultFarmingDelay; + public byte FarmingDelay { get; private set; } = DefaultFarmingDelay; [JsonProperty(Required = Required.DisallowNull)] - public byte GiftsLimiterDelay { get; } = DefaultGiftsLimiterDelay; + public byte GiftsLimiterDelay { get; private set; } = DefaultGiftsLimiterDelay; [JsonProperty(Required = Required.DisallowNull)] - public bool Headless { get; } = DefaultHeadless; + public bool Headless { get; private set; } = DefaultHeadless; [JsonProperty(Required = Required.DisallowNull)] - public byte IdleFarmingPeriod { get; } = DefaultIdleFarmingPeriod; + public byte IdleFarmingPeriod { get; private set; } = DefaultIdleFarmingPeriod; [JsonProperty(Required = Required.DisallowNull)] - public byte InventoryLimiterDelay { get; } = DefaultInventoryLimiterDelay; + public byte InventoryLimiterDelay { get; private set; } = DefaultInventoryLimiterDelay; [JsonProperty(Required = Required.DisallowNull)] - public bool IPC { get; } = DefaultIPC; + public bool IPC { get; private set; } = DefaultIPC; [JsonProperty(Required = Required.DisallowNull)] - public ArchiCryptoHelper.EHashingMethod IPCPasswordFormat { get; } = DefaultIPCPasswordFormat; + public ArchiCryptoHelper.EHashingMethod IPCPasswordFormat { get; private set; } = DefaultIPCPasswordFormat; [JsonProperty(Required = Required.DisallowNull)] - public byte LoginLimiterDelay { get; } = DefaultLoginLimiterDelay; + public byte LoginLimiterDelay { get; private set; } = DefaultLoginLimiterDelay; [JsonProperty(Required = Required.DisallowNull)] - public byte MaxFarmingTime { get; } = DefaultMaxFarmingTime; + public byte MaxFarmingTime { get; private set; } = DefaultMaxFarmingTime; [JsonProperty(Required = Required.DisallowNull)] - public byte MaxTradeHoldDuration { get; } = DefaultMaxTradeHoldDuration; + public byte MaxTradeHoldDuration { get; private set; } = DefaultMaxTradeHoldDuration; [JsonProperty(Required = Required.DisallowNull)] - public EOptimizationMode OptimizationMode { get; } = DefaultOptimizationMode; + public EOptimizationMode OptimizationMode { get; private set; } = DefaultOptimizationMode; [JsonProperty(Required = Required.DisallowNull)] - public bool Statistics { get; } = DefaultStatistics; + public bool Statistics { get; private set; } = DefaultStatistics; [JsonProperty] - public string? SteamMessagePrefix { get; } = DefaultSteamMessagePrefix; + public string? SteamMessagePrefix { get; private set; } = DefaultSteamMessagePrefix; [JsonProperty(Required = Required.DisallowNull)] - public EUpdateChannel UpdateChannel { get; } = DefaultUpdateChannel; + public EUpdateChannel UpdateChannel { get; private set; } = DefaultUpdateChannel; [JsonProperty(Required = Required.DisallowNull)] - public byte UpdatePeriod { get; } = DefaultUpdatePeriod; + public byte UpdatePeriod { get; private set; } = DefaultUpdatePeriod; [JsonProperty(Required = Required.DisallowNull)] - public ushort WebLimiterDelay { get; } = DefaultWebLimiterDelay; + public ushort WebLimiterDelay { get; private set; } = DefaultWebLimiterDelay; [JsonIgnore] [PublicAPI] @@ -243,10 +243,10 @@ namespace ArchiSteamFarm { } [JsonProperty(PropertyName = nameof(WebProxy))] - public string? WebProxyText { get; } = DefaultWebProxyText; + public string? WebProxyText { get; private set; } = DefaultWebProxyText; [JsonProperty] - public string? WebProxyUsername { get; } = DefaultWebProxyUsername; + public string? WebProxyUsername { get; private set; } = DefaultWebProxyUsername; [JsonProperty] internal readonly string? IPCPassword = DefaultIPCPassword; diff --git a/ArchiSteamFarm/GlobalDatabase.cs b/ArchiSteamFarm/GlobalDatabase.cs index ca9a0c419..ed8d0ed54 100644 --- a/ArchiSteamFarm/GlobalDatabase.cs +++ b/ArchiSteamFarm/GlobalDatabase.cs @@ -37,7 +37,7 @@ namespace ArchiSteamFarm { public sealed class GlobalDatabase : SerializableFile { [JsonProperty(Required = Required.DisallowNull)] [PublicAPI] - public Guid Identifier { get; } = Guid.NewGuid(); + public Guid Identifier { get; private set; } = Guid.NewGuid(); [JsonIgnore] [PublicAPI]