diff --git a/ArchiSteamFarm/Plugins/Interfaces/IBotCommand.cs b/ArchiSteamFarm/Plugins/Interfaces/IBotCommand.cs deleted file mode 100644 index 77357d3da..000000000 --- a/ArchiSteamFarm/Plugins/Interfaces/IBotCommand.cs +++ /dev/null @@ -1,42 +0,0 @@ -// _ _ _ ____ _ _____ -// / \ _ __ ___ | |__ (_)/ ___| | |_ ___ __ _ _ __ ___ | ___|__ _ _ __ _ __ ___ -// / _ \ | '__|/ __|| '_ \ | |\___ \ | __|/ _ \ / _` || '_ ` _ \ | |_ / _` || '__|| '_ ` _ \ -// / ___ \ | | | (__ | | | || | ___) || |_| __/| (_| || | | | | || _|| (_| || | | | | | | | -// /_/ \_\|_| \___||_| |_||_||____/ \__|\___| \__,_||_| |_| |_||_| \__,_||_| |_| |_| |_| -// | -// Copyright 2015-2022 Ɓukasz "JustArchi" Domeradzki -// Contact: JustArchi@JustArchi.net -// | -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// | -// http://www.apache.org/licenses/LICENSE-2.0 -// | -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Threading.Tasks; -using ArchiSteamFarm.Steam; -using ArchiSteamFarm.Storage; -using JetBrains.Annotations; - -namespace ArchiSteamFarm.Plugins.Interfaces; - -[PublicAPI] -[Obsolete($"Use {nameof(IBotCommand2)} instead, this one will be removed soon.", true)] -public interface IBotCommand : IPlugin { - /// - /// ASF will call this method for unrecognized commands. - /// - /// Bot object related to this callback. - /// 64-bit long unsigned integer of steamID executing the command. - /// Command message in its raw format, stripped of . - /// Pre-parsed message using standard ASF delimiters. - /// Response to the command, or null/empty (as the task value) if the command isn't handled by this plugin. - Task OnBotCommand(Bot bot, ulong steamID, string message, string[] args); -} diff --git a/ArchiSteamFarm/Plugins/PluginsCore.cs b/ArchiSteamFarm/Plugins/PluginsCore.cs index eb4a6a921..ee75e8efb 100644 --- a/ArchiSteamFarm/Plugins/PluginsCore.cs +++ b/ArchiSteamFarm/Plugins/PluginsCore.cs @@ -40,7 +40,6 @@ using ArchiSteamFarm.Steam; using ArchiSteamFarm.Steam.Data; using ArchiSteamFarm.Steam.Exchange; using ArchiSteamFarm.Steam.Integration.Callbacks; -using ArchiSteamFarm.Storage; using Newtonsoft.Json.Linq; using SteamKit2; @@ -297,36 +296,6 @@ internal static class PluginsCore { return null; } - ulong oldSteamID = steamID; - - if (oldSteamID == 0) { - oldSteamID = ASF.GlobalConfig?.SteamOwnerID ?? GlobalConfig.DefaultSteamOwnerID; - } - - if ((oldSteamID != 0) && new SteamID(oldSteamID).IsIndividualAccount) { - IList oldResponses; - - try { -#pragma warning disable CS0618 // We intentionally support deprecated interface for a while longer - oldResponses = await Utilities.InParallel(ActivePlugins.OfType().Select(plugin => plugin.OnBotCommand(bot, oldSteamID, message, args))).ConfigureAwait(false); -#pragma warning restore CS0618 // We intentionally support deprecated interface for a while longer - } catch (Exception e) { - ASF.ArchiLogger.LogGenericException(e); - - return null; - } - - if (oldResponses.Count > 0) { - // Due to fact that responses is string[] array, not a List, we need to reinitialize it - // Normally I'd wrote it differently but this is temporary code to be removed soon, so this will suffice - responses = new List(responses); - - foreach (string? oldResponse in oldResponses) { - responses.Add(oldResponse); - } - } - } - return string.Join(Environment.NewLine, responses.Where(static response => !string.IsNullOrEmpty(response))); } diff --git a/ArchiSteamFarm/Steam/Bot.cs b/ArchiSteamFarm/Steam/Bot.cs index fb1f65030..9d6ae17b6 100644 --- a/ArchiSteamFarm/Steam/Bot.cs +++ b/ArchiSteamFarm/Steam/Bot.cs @@ -753,27 +753,6 @@ public sealed class Bot : IAsyncDisposable { return await ArchiWebHandler.GetTradeHoldDurationForTrade(tradeID).ConfigureAwait(false); } - [PublicAPI] - [Obsolete($"Use {nameof(GetAccess)} instead (if you still need it), this one will be removed soon.", true)] - public bool HasAccess(ulong steamID, BotConfig.EAccess access) { - if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount) { - throw new ArgumentOutOfRangeException(nameof(steamID)); - } - - if ((access == BotConfig.EAccess.None) || !Enum.IsDefined(access)) { - throw new InvalidEnumArgumentException(nameof(access), (int) access, typeof(BotConfig.EAccess)); - } - - if (ASF.IsOwner(steamID)) { - return true; - } - - return access switch { - BotConfig.EAccess.FamilySharing when SteamFamilySharingIDs.Contains(steamID) => true, - _ => BotConfig.SteamUserPermissions.TryGetValue(steamID, out BotConfig.EAccess realPermission) && (realPermission >= access) - }; - } - [PublicAPI] public async Task?> LoadCardsPerSet(IReadOnlyCollection appIDs) { if ((appIDs == null) || (appIDs.Count == 0)) { diff --git a/ArchiSteamFarm/Steam/Interaction/Commands.cs b/ArchiSteamFarm/Steam/Interaction/Commands.cs index 3afb87cfe..71644b113 100644 --- a/ArchiSteamFarm/Steam/Interaction/Commands.cs +++ b/ArchiSteamFarm/Steam/Interaction/Commands.cs @@ -81,18 +81,6 @@ public sealed class Commands { return $"<{SharedInfo.ASF}> {response}"; } - [PublicAPI] - [Obsolete($"Use overload which accepts {nameof(EAccess)} instead, this one will be removed soon.", true)] - public async Task Response(ulong steamID, string message) { - if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount) { - throw new ArgumentOutOfRangeException(nameof(steamID)); - } - - EAccess access = Bot.GetAccess(steamID); - - return await Response(access, message, steamID).ConfigureAwait(false); - } - [PublicAPI] public async Task Response(EAccess access, string message, ulong steamID = 0) { if (!Enum.IsDefined(access)) { diff --git a/ArchiSteamFarm/Steam/Storage/BotDatabase.cs b/ArchiSteamFarm/Steam/Storage/BotDatabase.cs index 2f403564b..3f761b793 100644 --- a/ArchiSteamFarm/Steam/Storage/BotDatabase.cs +++ b/ArchiSteamFarm/Steam/Storage/BotDatabase.cs @@ -96,46 +96,6 @@ internal sealed class BotDatabase : SerializableFile { private bool SaveNeededDueToMigration; - [JsonProperty(Required = Required.DisallowNull)] - [Obsolete("Available for limited time and only to migrate existing databases")] - private ConcurrentHashSet BlacklistedFromTradesSteamIDs { - set { - if (TradingBlacklistSteamIDs.AddRange(value) && string.IsNullOrEmpty(FilePath)) { - SaveNeededDueToMigration = true; - } - } - } - - [JsonProperty(Required = Required.DisallowNull)] - [Obsolete("Available for limited time and only to migrate existing databases")] - private ConcurrentHashSet IdlingBlacklistedAppIDs { - set { - if (FarmingBlacklistAppIDs.AddRange(value) && string.IsNullOrEmpty(FilePath)) { - SaveNeededDueToMigration = true; - } - } - } - - [JsonProperty(Required = Required.DisallowNull)] - [Obsolete("Available for limited time and only to migrate existing databases")] - private ConcurrentHashSet IdlingPriorityAppIDs { - set { - if (FarmingPriorityQueueAppIDs.AddRange(value) && string.IsNullOrEmpty(FilePath)) { - SaveNeededDueToMigration = true; - } - } - } - - [JsonProperty(Required = Required.DisallowNull)] - [Obsolete("Available for limited time and only to migrate existing databases")] - private ConcurrentHashSet MatchActivelyBlacklistedAppIDs { - set { - if (MatchActivelyBlacklistAppIDs.AddRange(value) && string.IsNullOrEmpty(FilePath)) { - SaveNeededDueToMigration = true; - } - } - } - private BotDatabase(string filePath) { if (string.IsNullOrEmpty(filePath)) { throw new ArgumentNullException(nameof(filePath));