Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor & Enhancements: Namespace Fix, .NET 9 Upgrade, Bot Package Checker, and Plugin Improvements #124

Merged
merged 11 commits into from
Mar 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ on: [push, pull_request]
env:
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_NOLOGO: true
DOTNET_SDK_VERSION: 8.0.x
DOTNET_FRAMEWORK: net8.0
DOTNET_SDK_VERSION: 9.0.x
DOTNET_FRAMEWORK: net9.0

jobs:
main:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ env:
CONFIGURATION: Release
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_NOLOGO: true
DOTNET_SDK_VERSION: 8.0.x
NET_CORE_VERSION: net8.0
DOTNET_SDK_VERSION: 9.0.x
NET_CORE_VERSION: net9.0
NET_FRAMEWORK_VERSION: net48
PLUGIN_NAME: ASFFreeGames

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
env:
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_NOLOGO: true
DOTNET_SDK_VERSION: 8.0.x
DOTNET_SDK_VERSION: 9.0.x

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand Down
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -289,13 +289,13 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# Note: Comment the next line if you want to check in your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# check in your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

Expand Down
2 changes: 1 addition & 1 deletion ASFFreeGames.Tests/ASFFreeGames.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<IsPackable>false</IsPackable>

<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions ASFFreeGames.Tests/GameIdentifierParserTests.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using ASFFreeGames.ASFExtentions.Games;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.ASF.ASFExtensions.Games;
using Xunit;

namespace Maxisoft.ASF.Tests;
Expand Down
6 changes: 3 additions & 3 deletions ASFFreeGames.Tests/GameIdentifierTests.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using ASFFreeGames.ASFExtentions.Games;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.ASF.ASFExtensions.Games;
using Xunit;

namespace Maxisoft.ASF.Tests;
Expand Down
59 changes: 29 additions & 30 deletions ASFFreeGames.sln
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Expand All @@ -10,32 +9,32 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASFFreeGames.Tests", "ASFFreeGames.Tests\ASFFreeGames.Tests.csproj", "{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
DebugFast|Any CPU = DebugFast|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.DebugFast|Any CPU.ActiveCfg = DebugFast|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.DebugFast|Any CPU.Build.0 = DebugFast|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Release|Any CPU.Build.0 = Release|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.DebugFast|Any CPU.ActiveCfg = DebugFast|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.DebugFast|Any CPU.Build.0 = DebugFast|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Release|Any CPU.Build.0 = Release|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.DebugFast|Any CPU.ActiveCfg = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.DebugFast|Any CPU.Build.0 = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
DebugFast|Any CPU = DebugFast|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.DebugFast|Any CPU.ActiveCfg = DebugFast|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.DebugFast|Any CPU.Build.0 = DebugFast|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A64A35BD-25B6-4F4F-8C3C-E0CF9CE843F9}.Release|Any CPU.Build.0 = Release|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.DebugFast|Any CPU.ActiveCfg = DebugFast|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.DebugFast|Any CPU.Build.0 = DebugFast|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50744701-4C54-49BE-8189-518DA2A65797}.Release|Any CPU.Build.0 = Release|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.DebugFast|Any CPU.ActiveCfg = DebugFast|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.DebugFast|Any CPU.Build.0 = DebugFast|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC4DC8D7-AF9D-464D-BC93-DD829B3D1837}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
1 change: 1 addition & 0 deletions ASFFreeGames.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,7 @@
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002EMemberReordering_002EMigrations_002ECSharpFileLayoutPatternRemoveIsAttributeUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
Expand Down
11 changes: 7 additions & 4 deletions ASFFreeGames/ASFExtentions/Bot/BotContext.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;
using System.Reflection;
using System.Threading.Tasks;
using ASFFreeGames.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF;
using Maxisoft.ASF.AppLists;
using Maxisoft.ASF.Utils.Workarounds;

namespace ASFFreeGames.ASFExtentions.Bot;
namespace ASFFreeGames.ASFExtensions.Bot;

using Bot = ArchiSteamFarm.Steam.Bot;
using static ArchiSteamFarm.Localization.Strings;

internal sealed class BotContext : IDisposable {
private const ulong TriesBeforeBlacklistingGameEntry = 5;
Expand Down Expand Up @@ -74,7 +78,7 @@ public bool HasApp(in GameIdentifier gameIdentifier) {

Bot? bot = Bot.GetBot(BotIdentifier);

return bot is not null && bot.OwnedPackageIDs.ContainsKey(checked((uint) gameIdentifier.Id));
return bot is not null && BotPackageChecker.BotOwnsPackage(bot, checked((uint) gameIdentifier.Id));
}

public async Task LoadFromFileSystem(CancellationToken cancellationToken = default) {
Expand Down Expand Up @@ -117,4 +121,3 @@ private string CompletedAppFilePath() {
return res;
}
}

2 changes: 1 addition & 1 deletion ASFFreeGames/ASFExtentions/Bot/BotEqualityComparer.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;

namespace ASFFreeGames.ASFExtentions.Bot;
namespace ASFFreeGames.ASFExtensions.Bot;

using Bot = ArchiSteamFarm.Steam.Bot;

Expand Down
2 changes: 1 addition & 1 deletion ASFFreeGames/ASFExtentions/Bot/BotName.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.Diagnostics.CodeAnalysis;

namespace ASFFreeGames.ASFExtentions.Bot {
namespace ASFFreeGames.ASFExtensions.Bot {
/// <summary>
/// Represents a readonly record struct that encapsulates bot's name (a string) and provides implicit conversion and comparison methods.
/// </summary>
Expand Down
6 changes: 3 additions & 3 deletions ASFFreeGames/ASFExtentions/Games/GameIdentifier.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
using System.Buffers.Binary;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtentions.Games;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.ASF.ASFExtensions.Games;

// ReSharper disable RedundantNullableFlowAttribute

namespace ASFFreeGames.ASFExtentions.Games;
namespace ASFFreeGames.ASFExtensions.Games;

/// <summary>
/// Represents a readonly record struct that encapsulates a game identifier with a numeric ID and a type.
Expand Down
4 changes: 2 additions & 2 deletions ASFFreeGames/ASFExtentions/Games/GameIdentifierParser.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System;
using System.Diagnostics.CodeAnalysis;
using ASFFreeGames.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Games;

namespace Maxisoft.ASF.ASFExtentions.Games;
namespace Maxisoft.ASF.ASFExtensions.Games;

/// <summary>
/// Represents a static class that provides methods for parsing game identifiers from strings.
Expand Down
2 changes: 1 addition & 1 deletion ASFFreeGames/ASFExtentions/Games/GameIdentifierType.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Maxisoft.ASF.ASFExtentions.Games;
namespace Maxisoft.ASF.ASFExtensions.Games;

public enum GameIdentifierType : sbyte {
None = 0,
Expand Down
11 changes: 7 additions & 4 deletions ASFFreeGames/ASFFreeGames.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugSymbols>True</DebugSymbols>
<DebugType>pdbonly</DebugType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand Down Expand Up @@ -71,14 +71,17 @@
<Content Include="..\Directory.Build.props">
<Link>Directory.Build.props</Link>
</Content>
<Content Include="..\Directory.Packages.props">
<Link>Directory.Packages.props</Link>
</Content>
</ItemGroup>

<ItemGroup>
<Folder Include="Resouces\" />
<Folder Include="Resources\" />
</ItemGroup>

<ItemGroup>
<None Remove="Resouces\redlib_instances.json" />
<EmbeddedResource Include="Resouces\redlib_instances.json" />
<None Remove="Resources\redlib_instances.json" />
<EmbeddedResource Include="Resources\redlib_instances.json" />
</ItemGroup>
</Project>
7 changes: 4 additions & 3 deletions ASFFreeGames/ASFFreeGames.csproj.DotSettings
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeEditing/Localization/Localizable/@EntryValue">No</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/UsageCheckingInspectionLevel/@EntryValue">InternalsOnly</s:String></wpf:ResourceDictionary>
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:schemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeEditing/Localization/Localizable/@EntryValue">No</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/UsageCheckingInspectionLevel/@EntryValue">InternalsOnly</s:String>
</wpf:ResourceDictionary>
18 changes: 12 additions & 6 deletions ASFFreeGames/ASFFreeGamesPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@
using ArchiSteamFarm.Collections;
using ArchiSteamFarm.Plugins.Interfaces;
using ArchiSteamFarm.Steam;
using ASFFreeGames.ASFExtentions.Bot;
using ASFFreeGames.ASFExtensions.Bot;
using ASFFreeGames.Commands;
using ASFFreeGames.Configurations;
using JetBrains.Annotations;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.ASF.Configurations;
using Maxisoft.ASF.Github;
using Maxisoft.ASF.Utils;
using Maxisoft.ASF.Utils.Workarounds;
using SteamKit2;
using static ArchiSteamFarm.Core.ASF;

Expand Down Expand Up @@ -68,7 +69,7 @@ public ASFFreeGamesPlugin() {
_context.Value = new PluginContext(Bots, BotContextRegistry, Options, LoggerFilter) { CancellationTokenLazy = new Lazy<CancellationToken>(() => CancellationTokenSourceLazy.Value.Token) };
}

public async Task<string?> OnBotCommand(Bot bot, EAccess access, string message, string[] args, ulong steamID = 0) {
public async Task<string?> OnBotCommand(Bot? bot, EAccess access, string message, string[] args, ulong steamID = 0) {
if (!Context.Valid) {
CreateContext();
}
Expand Down Expand Up @@ -141,9 +142,13 @@ public async void CollectGamesOnClock(object? source) {

if (!cts.IsCancellationRequested) {
string cmd = $"FREEGAMES {FreeGamesCommand.CollectInternalCommandString} " + string.Join(' ', reorderedBots.Select(static bot => bot.BotName));
#pragma warning disable CS1998
await OnBotCommand(null!, EAccess.None, cmd, cmd.Split()).ConfigureAwait(false);
#pragma warning restore CS1998

try {
await OnBotCommand(null, EAccess.None, cmd, cmd.Split()).ConfigureAwait(false);
}
catch (Exception ex) {
ArchiLogger.LogGenericWarning($"Failed to execute scheduled free games collection: {ex.Message}");
}
}
}
}
Expand Down Expand Up @@ -186,6 +191,7 @@ private async Task RemoveBot(Bot bot) {
}

LoggerFilter.RemoveFilters(bot);
BotPackageChecker.RemoveBotCache(bot);
}

// ReSharper disable once UnusedMethodReturnValue.Local
Expand Down
4 changes: 2 additions & 2 deletions ASFFreeGames/AppLists/CompletedAppList.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using ASFFreeGames.ASFExtentions.Games;
using Maxisoft.ASF.ASFExtentions;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF.ASFExtensions;

namespace Maxisoft.ASF.AppLists;

Expand Down
4 changes: 2 additions & 2 deletions ASFFreeGames/AppLists/RecentGameMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using ASFFreeGames.ASFExtentions.Games;
using Maxisoft.ASF.ASFExtentions;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.Utils.Collections.Spans;

namespace Maxisoft.ASF.AppLists;
Expand Down
6 changes: 3 additions & 3 deletions ASFFreeGames/Commands/FreeGamesCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
using System.Threading;
using System.Threading.Tasks;
using ArchiSteamFarm.Steam;
using ASFFreeGames.ASFExtentions.Bot;
using ASFFreeGames.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Bot;
using ASFFreeGames.ASFExtensions.Games;
using ASFFreeGames.Configurations;
using Maxisoft.ASF;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtensions;
using Maxisoft.ASF.Configurations;
using Maxisoft.ASF.FreeGames.Strategies;
using Maxisoft.ASF.HttpClientSimple;
Expand Down
4 changes: 2 additions & 2 deletions ASFFreeGames/Configurations/ASFFreeGamesOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
using System.Linq;
using System.Text.Json.Serialization;
using ArchiSteamFarm.Steam;
using ASFFreeGames.ASFExtentions.Games;
using ASFFreeGames.ASFExtensions.Games;
using Maxisoft.ASF;
using Maxisoft.ASF.ASFExtentions;
using Maxisoft.ASF.ASFExtensions;

namespace ASFFreeGames.Configurations;

Expand Down
4 changes: 2 additions & 2 deletions ASFFreeGames/ContextRegistry.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
using System.Threading;
using System.Threading.Tasks;
using ArchiSteamFarm.Steam;
using ASFFreeGames.ASFExtentions.Bot;
using Maxisoft.ASF.ASFExtentions;
using ASFFreeGames.ASFExtensions.Bot;
using Maxisoft.ASF.ASFExtensions;

namespace Maxisoft.ASF {
/// <summary>
Expand Down
Loading
Loading