From de3a402a5b458a085216e5005b74ee2872603a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Domeradzki?= Date: Sun, 11 Jan 2026 21:16:53 +0100 Subject: [PATCH] Allow to use "all" as target input for command removal options --- ArchiSteamFarm/Steam/Interaction/Commands.cs | 68 +++++++++++++++----- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/ArchiSteamFarm/Steam/Interaction/Commands.cs b/ArchiSteamFarm/Steam/Interaction/Commands.cs index 0eb1f52d4..725ea58f6 100644 --- a/ArchiSteamFarm/Steam/Interaction/Commands.cs +++ b/ArchiSteamFarm/Steam/Interaction/Commands.cs @@ -1399,11 +1399,20 @@ public sealed class Commands { HashSet appIDs = []; foreach (string target in targets) { - if (!uint.TryParse(target, out uint appID) || (appID == 0)) { - return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); - } + switch (target.ToUpperInvariant()) { + case "ALL": + appIDs.UnionWith(Bot.BotDatabase.FarmingBlacklistAppIDs); - appIDs.Add(appID); + break; + default: + if (!uint.TryParse(target, out uint appID) || (appID == 0)) { + return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); + } + + appIDs.Add(appID); + + break; + } } if (!Bot.BotDatabase.FarmingBlacklistAppIDs.RemoveRange(appIDs)) { @@ -1556,11 +1565,20 @@ public sealed class Commands { HashSet appIDs = []; foreach (string target in targets) { - if (!uint.TryParse(target, out uint appID) || (appID == 0)) { - return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); - } + switch (target.ToUpperInvariant()) { + case "ALL": + appIDs.UnionWith(Bot.BotDatabase.FarmingPriorityQueueAppIDs); - appIDs.Add(appID); + break; + default: + if (!uint.TryParse(target, out uint appID) || (appID == 0)) { + return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); + } + + appIDs.Add(appID); + + break; + } } if (!Bot.BotDatabase.FarmingPriorityQueueAppIDs.RemoveRange(appIDs)) { @@ -1975,11 +1993,20 @@ public sealed class Commands { HashSet appIDs = []; foreach (string target in targets) { - if (!uint.TryParse(target, out uint appID) || (appID == 0)) { - return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); - } + switch (target.ToUpperInvariant()) { + case "ALL": + appIDs.UnionWith(Bot.BotDatabase.MatchActivelyBlacklistAppIDs); - appIDs.Add(appID); + break; + default: + if (!uint.TryParse(target, out uint appID) || (appID == 0)) { + return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(appID))); + } + + appIDs.Add(appID); + + break; + } } return FormatBotResponse(Bot.BotDatabase.MatchActivelyBlacklistAppIDs.RemoveRange(appIDs) ? Strings.Done : Strings.NothingFound); @@ -3416,11 +3443,20 @@ public sealed class Commands { HashSet targetIDs = []; foreach (string target in targets) { - if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0) || !new SteamID(targetID).IsIndividualAccount) { - return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(targetID))); - } + switch (target.ToUpperInvariant()) { + case "ALL": + targetIDs.UnionWith(Bot.BotDatabase.TradingBlacklistSteamIDs); - targetIDs.Add(targetID); + break; + default: + if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0) || !new SteamID(targetID).IsIndividualAccount) { + return FormatBotResponse(Strings.FormatErrorParsingObject(nameof(targetID))); + } + + targetIDs.Add(targetID); + + break; + } } return FormatBotResponse(Bot.BotDatabase.TradingBlacklistSteamIDs.RemoveRange(targetIDs) ? Strings.Done : Strings.NothingFound);