diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index c34143101..ec45421dc 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -397,7 +397,7 @@ namespace ArchiSteamFarm { [PublicAPI] public async Task GetTradeHoldDuration(ulong steamID, ulong tradeID) { - if ((steamID == 0) || (tradeID == 0)) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount || (tradeID == 0)) { ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(tradeID)); return null; @@ -422,7 +422,7 @@ namespace ArchiSteamFarm { [PublicAPI] public bool HasPermission(ulong steamID, BotConfig.EPermission permission) { - if ((steamID == 0) || (permission == BotConfig.EPermission.None)) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount || (permission == BotConfig.EPermission.None)) { ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(permission)); return false; @@ -908,7 +908,7 @@ namespace ArchiSteamFarm { } internal bool IsBlacklistedFromTrades(ulong steamID) { - if (steamID == 0) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount) { ArchiLogger.LogNullError(nameof(steamID)); return false; @@ -1612,7 +1612,7 @@ namespace ArchiSteamFarm { } private async Task HandleMessage(ulong steamID, string message) { - if ((steamID == 0) || string.IsNullOrEmpty(message)) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount || string.IsNullOrEmpty(message)) { ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(message)); return; @@ -1807,7 +1807,7 @@ namespace ArchiSteamFarm { } private bool IsMasterClanID(ulong steamID) { - if (steamID == 0) { + if ((steamID == 0) || !new SteamID(steamID).IsClanAccount) { ArchiLogger.LogNullError(nameof(steamID)); return false; diff --git a/ArchiSteamFarm/BotDatabase.cs b/ArchiSteamFarm/BotDatabase.cs index 7cc6af7ab..eb6f0f7ce 100644 --- a/ArchiSteamFarm/BotDatabase.cs +++ b/ArchiSteamFarm/BotDatabase.cs @@ -29,6 +29,7 @@ using System.Threading.Tasks; using ArchiSteamFarm.Collections; using JetBrains.Annotations; using Newtonsoft.Json; +using SteamKit2; namespace ArchiSteamFarm { internal sealed class BotDatabase : IDisposable { @@ -200,7 +201,7 @@ namespace ArchiSteamFarm { } internal bool IsBlacklistedFromTrades(ulong steamID) { - if (steamID == 0) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount) { ASF.ArchiLogger.LogNullError(nameof(steamID)); return false; diff --git a/ArchiSteamFarm/Commands.cs b/ArchiSteamFarm/Commands.cs index 33fd0c90d..d0b72704e 100644 --- a/ArchiSteamFarm/Commands.cs +++ b/ArchiSteamFarm/Commands.cs @@ -964,7 +964,7 @@ namespace ArchiSteamFarm { HashSet targetIDs = new HashSet(); foreach (string target in targets) { - if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0)) { + if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0) || !new SteamID(targetID).IsIndividualAccount) { return FormatBotResponse(string.Format(Strings.ErrorParsingObject, nameof(targetID))); } @@ -1017,7 +1017,7 @@ namespace ArchiSteamFarm { HashSet targetIDs = new HashSet(); foreach (string target in targets) { - if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0)) { + if (!ulong.TryParse(target, out ulong targetID) || (targetID == 0) || !new SteamID(targetID).IsIndividualAccount) { return FormatBotResponse(string.Format(Strings.ErrorParsingObject, nameof(targetID))); }