From bbfcd467c97b0e03ad7ef15248abf9f45db0850c Mon Sep 17 00:00:00 2001 From: JustArchi Date: Tue, 8 Sep 2020 17:14:17 +0200 Subject: [PATCH] Enable for public access default config properties --- ArchiSteamFarm/BotConfig.cs | 115 ++++++++++++++++++++++++--------- ArchiSteamFarm/GlobalConfig.cs | 110 +++++++++++++++++++++++-------- 2 files changed, 168 insertions(+), 57 deletions(-) diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs index cc8c2665e..0d3be7243 100644 --- a/ArchiSteamFarm/BotConfig.cs +++ b/ArchiSteamFarm/BotConfig.cs @@ -37,39 +37,96 @@ using SteamKit2; namespace ArchiSteamFarm { [SuppressMessage("ReSharper", "ClassCannotBeInstantiated")] public sealed class BotConfig { + [PublicAPI] + public const bool DefaultAcceptGifts = false; + + [PublicAPI] + public const bool DefaultAutoSteamSaleEvent = false; + + [PublicAPI] + public const EBotBehaviour DefaultBotBehaviour = EBotBehaviour.None; + + [PublicAPI] + public const string DefaultCustomGamePlayedWhileFarming = null; + + [PublicAPI] + public const string DefaultCustomGamePlayedWhileIdle = null; + + [PublicAPI] + public const bool DefaultEnabled = false; + + [PublicAPI] + public const byte DefaultHoursUntilCardDrops = 3; + + [PublicAPI] + public const bool DefaultIdlePriorityQueueOnly = false; + + [PublicAPI] + public const bool DefaultIdleRefundableGames = true; + + [PublicAPI] + public const EPersonaState DefaultOnlineStatus = EPersonaState.Online; + + [PublicAPI] + public const ArchiCryptoHelper.ECryptoMethod DefaultPasswordFormat = ArchiCryptoHelper.ECryptoMethod.PlainText; + + [PublicAPI] + public const bool DefaultPaused = false; + + [PublicAPI] + public const ERedeemingPreferences DefaultRedeemingPreferences = ERedeemingPreferences.None; + + [PublicAPI] + public const bool DefaultSendOnFarmingFinished = false; + + [PublicAPI] + public const byte DefaultSendTradePeriod = 0; + + [PublicAPI] + public const bool DefaultShutdownOnFarmingFinished = false; + + [PublicAPI] + public const string DefaultSteamLogin = null; + + [PublicAPI] + public const ulong DefaultSteamMasterClanID = 0; + + [PublicAPI] + public const string DefaultSteamParentalCode = null; + + [PublicAPI] + public const string DefaultSteamPassword = null; + + [PublicAPI] + public const string DefaultSteamTradeToken = null; + + [PublicAPI] + public const ETradingPreferences DefaultTradingPreferences = ETradingPreferences.None; + + [PublicAPI] + public const bool DefaultUseLoginKeys = true; + internal const byte SteamParentalCodeLength = 4; - private const bool DefaultAcceptGifts = false; - private const bool DefaultAutoSteamSaleEvent = false; - private const EBotBehaviour DefaultBotBehaviour = EBotBehaviour.None; - private const string DefaultCustomGamePlayedWhileFarming = null; - private const string DefaultCustomGamePlayedWhileIdle = null; - private const bool DefaultEnabled = false; - private const byte DefaultHoursUntilCardDrops = 3; - private const bool DefaultIdlePriorityQueueOnly = false; - private const bool DefaultIdleRefundableGames = true; - private const EPersonaState DefaultOnlineStatus = EPersonaState.Online; - private const ArchiCryptoHelper.ECryptoMethod DefaultPasswordFormat = ArchiCryptoHelper.ECryptoMethod.PlainText; - private const bool DefaultPaused = false; - private const ERedeemingPreferences DefaultRedeemingPreferences = ERedeemingPreferences.None; - private const bool DefaultSendOnFarmingFinished = false; - private const byte DefaultSendTradePeriod = 0; - private const bool DefaultShutdownOnFarmingFinished = false; - private const string DefaultSteamLogin = null; - private const ulong DefaultSteamMasterClanID = 0; - private const string DefaultSteamParentalCode = null; - private const string DefaultSteamPassword = null; - private const string DefaultSteamTradeToken = null; - private const ETradingPreferences DefaultTradingPreferences = ETradingPreferences.None; - private const bool DefaultUseLoginKeys = true; private const byte SteamTradeTokenLength = 8; - private static readonly ImmutableList DefaultFarmingOrders = ImmutableList.Empty; - private static readonly ImmutableHashSet DefaultGamesPlayedWhileIdle = ImmutableHashSet.Empty; - private static readonly ImmutableHashSet DefaultLootableTypes = ImmutableHashSet.Create(Steam.Asset.EType.BoosterPack, Steam.Asset.EType.FoilTradingCard, Steam.Asset.EType.TradingCard); - private static readonly ImmutableHashSet DefaultMatchableTypes = ImmutableHashSet.Create(Steam.Asset.EType.TradingCard); - private static readonly ImmutableDictionary DefaultSteamUserPermissions = ImmutableDictionary.Empty; - private static readonly ImmutableHashSet DefaultTransferableTypes = ImmutableHashSet.Create(Steam.Asset.EType.BoosterPack, Steam.Asset.EType.FoilTradingCard, Steam.Asset.EType.TradingCard); + [PublicAPI] + public static readonly ImmutableList DefaultFarmingOrders = ImmutableList.Empty; + + [PublicAPI] + public static readonly ImmutableHashSet DefaultGamesPlayedWhileIdle = ImmutableHashSet.Empty; + + [PublicAPI] + public static readonly ImmutableHashSet DefaultLootableTypes = ImmutableHashSet.Create(Steam.Asset.EType.BoosterPack, Steam.Asset.EType.FoilTradingCard, Steam.Asset.EType.TradingCard); + + [PublicAPI] + public static readonly ImmutableHashSet DefaultMatchableTypes = ImmutableHashSet.Create(Steam.Asset.EType.TradingCard); + + [PublicAPI] + public static readonly ImmutableDictionary DefaultSteamUserPermissions = ImmutableDictionary.Empty; + + [PublicAPI] + public static readonly ImmutableHashSet DefaultTransferableTypes = ImmutableHashSet.Create(Steam.Asset.EType.BoosterPack, Steam.Asset.EType.FoilTradingCard, Steam.Asset.EType.TradingCard); private static readonly SemaphoreSlim WriteSemaphore = new SemaphoreSlim(1, 1); diff --git a/ArchiSteamFarm/GlobalConfig.cs b/ArchiSteamFarm/GlobalConfig.cs index 6e76b8838..90f971717 100644 --- a/ArchiSteamFarm/GlobalConfig.cs +++ b/ArchiSteamFarm/GlobalConfig.cs @@ -36,36 +36,90 @@ using SteamKit2; namespace ArchiSteamFarm { [SuppressMessage("ReSharper", "ClassCannotBeInstantiated")] public sealed class GlobalConfig { - internal const string DefaultCommandPrefix = "!"; - internal const byte DefaultConfirmationsLimiterDelay = 10; - internal const byte DefaultConnectionTimeout = 90; - internal const byte DefaultFarmingDelay = 15; - internal const byte DefaultGiftsLimiterDelay = 1; - internal const bool DefaultHeadless = false; - internal const byte DefaultIdleFarmingPeriod = 8; - internal const byte DefaultInventoryLimiterDelay = 3; - internal const string DefaultIPCPassword = null; - internal const byte DefaultLoginLimiterDelay = 10; - internal const byte DefaultMaxFarmingTime = 10; - internal const byte DefaultMaxTradeHoldDuration = 15; - internal const string DefaultSteamMessagePrefix = "/me "; - internal const ulong DefaultSteamOwnerID = 0; - internal const ushort DefaultWebLimiterDelay = 300; + [PublicAPI] + public const bool DefaultAutoRestart = true; - private const bool DefaultAutoRestart = true; - private const string DefaultCurrentCulture = null; - private const bool DefaultDebug = false; - private const bool DefaultIPC = false; - private const EOptimizationMode DefaultOptimizationMode = EOptimizationMode.MaxPerformance; - private const bool DefaultStatistics = true; - private const ProtocolTypes DefaultSteamProtocols = ProtocolTypes.All; - private const EUpdateChannel DefaultUpdateChannel = EUpdateChannel.Stable; - private const byte DefaultUpdatePeriod = 24; - private const string DefaultWebProxyPassword = null; - private const string DefaultWebProxyText = null; - private const string DefaultWebProxyUsername = null; + [PublicAPI] + public const string DefaultCommandPrefix = "!"; + + [PublicAPI] + public const byte DefaultConfirmationsLimiterDelay = 10; + + [PublicAPI] + public const byte DefaultConnectionTimeout = 90; + + [PublicAPI] + public const string DefaultCurrentCulture = null; + + [PublicAPI] + public const bool DefaultDebug = false; + + [PublicAPI] + public const byte DefaultFarmingDelay = 15; + + [PublicAPI] + public const byte DefaultGiftsLimiterDelay = 1; + + [PublicAPI] + public const bool DefaultHeadless = false; + + [PublicAPI] + public const byte DefaultIdleFarmingPeriod = 8; + + [PublicAPI] + public const byte DefaultInventoryLimiterDelay = 3; + + [PublicAPI] + public const bool DefaultIPC = false; + + [PublicAPI] + public const string DefaultIPCPassword = null; + + [PublicAPI] + public const byte DefaultLoginLimiterDelay = 10; + + [PublicAPI] + public const byte DefaultMaxFarmingTime = 10; + + [PublicAPI] + public const byte DefaultMaxTradeHoldDuration = 15; + + [PublicAPI] + public const EOptimizationMode DefaultOptimizationMode = EOptimizationMode.MaxPerformance; + + [PublicAPI] + public const bool DefaultStatistics = true; + + [PublicAPI] + public const string DefaultSteamMessagePrefix = "/me "; + + [PublicAPI] + public const ulong DefaultSteamOwnerID = 0; + + [PublicAPI] + public const ProtocolTypes DefaultSteamProtocols = ProtocolTypes.All; + + [PublicAPI] + public const EUpdateChannel DefaultUpdateChannel = EUpdateChannel.Stable; + + [PublicAPI] + public const byte DefaultUpdatePeriod = 24; + + [PublicAPI] + public const ushort DefaultWebLimiterDelay = 300; + + [PublicAPI] + public const string DefaultWebProxyPassword = null; + + [PublicAPI] + public const string DefaultWebProxyText = null; + + [PublicAPI] + public const string DefaultWebProxyUsername = null; + + [PublicAPI] + public static readonly ImmutableHashSet DefaultBlacklist = ImmutableHashSet.Create(); - private static readonly ImmutableHashSet DefaultBlacklist = ImmutableHashSet.Create(); private static readonly SemaphoreSlim WriteSemaphore = new SemaphoreSlim(1, 1); [JsonProperty(Required = Required.DisallowNull)]