mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-02-14 15:53:30 -07:00
Refactor
This commit is contained in:
parent
c6ea04144d
commit
60d9992c74
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CliFx" Version="2.3.1" />
|
<PackageReference Include="CliFx" Version="2.3.1" />
|
||||||
|
<PackageReference Include="FuckRussia" Version="1.0.0" PrivateAssets="all" />
|
||||||
<PackageReference Include="Spectre.Console" Version="0.46.0" />
|
<PackageReference Include="Spectre.Console" Version="0.46.0" />
|
||||||
<PackageReference Include="Gress" Version="2.0.1" />
|
<PackageReference Include="Gress" Version="2.0.1" />
|
||||||
<PackageReference Include="DotnetRuntimeBootstrapper" Version="2.4.0" PrivateAssets="all" />
|
<PackageReference Include="DotnetRuntimeBootstrapper" Version="2.4.0" PrivateAssets="all" />
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using Microsoft.Win32;
|
|
||||||
|
|
||||||
namespace DiscordChatExporter.Cli;
|
|
||||||
|
|
||||||
public static class Sanctions
|
|
||||||
{
|
|
||||||
[ModuleInitializer]
|
|
||||||
internal static void Verify()
|
|
||||||
{
|
|
||||||
var isSkipped = string.Equals(
|
|
||||||
Environment.GetEnvironmentVariable("RUSNI"),
|
|
||||||
"PYZDA",
|
|
||||||
StringComparison.OrdinalIgnoreCase
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isSkipped)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var locale = CultureInfo.CurrentCulture.Name;
|
|
||||||
|
|
||||||
var region =
|
|
||||||
RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
|
|
||||||
? Registry.CurrentUser
|
|
||||||
.OpenSubKey(@"Control Panel\International\Geo", false)?
|
|
||||||
.GetValue("Name") as string
|
|
||||||
: null;
|
|
||||||
|
|
||||||
var isSanctioned =
|
|
||||||
locale.EndsWith("-ru", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
locale.EndsWith("-by", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(region, "ru", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(region, "by", StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
if (!isSanctioned)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Console.ForegroundColor = ConsoleColor.Red;
|
|
||||||
Console.Error.WriteLine(
|
|
||||||
"You cannot use this software on the territory of a terrorist state. " +
|
|
||||||
"Set the environment variable `RUSNI=PYZDA` if you wish to override this check."
|
|
||||||
);
|
|
||||||
|
|
||||||
Console.ResetColor();
|
|
||||||
|
|
||||||
Environment.Exit(0xFACC);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="FuckRussia" Version="1.0.0" PrivateAssets="all" />
|
||||||
<PackageReference Include="Gress" Version="2.0.1" />
|
<PackageReference Include="Gress" Version="2.0.1" />
|
||||||
<PackageReference Include="MaterialDesignColors" Version="2.1.1" />
|
<PackageReference Include="MaterialDesignColors" Version="2.1.1" />
|
||||||
<PackageReference Include="MaterialDesignThemes" Version="4.7.1" />
|
<PackageReference Include="MaterialDesignThemes" Version="4.7.1" />
|
||||||
|
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Windows;
|
|
||||||
using Microsoft.Win32;
|
|
||||||
|
|
||||||
namespace DiscordChatExporter.Gui;
|
|
||||||
|
|
||||||
public static class Sanctions
|
|
||||||
{
|
|
||||||
[ModuleInitializer]
|
|
||||||
internal static void Verify()
|
|
||||||
{
|
|
||||||
var isSkipped = string.Equals(
|
|
||||||
Environment.GetEnvironmentVariable("RUSNI"),
|
|
||||||
"PYZDA",
|
|
||||||
StringComparison.OrdinalIgnoreCase
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isSkipped)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var locale = CultureInfo.CurrentCulture.Name;
|
|
||||||
|
|
||||||
var region = Registry.CurrentUser
|
|
||||||
.OpenSubKey(@"Control Panel\International\Geo", false)?
|
|
||||||
.GetValue("Name") as string;
|
|
||||||
|
|
||||||
var isSanctioned =
|
|
||||||
locale.EndsWith("-ru", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
locale.EndsWith("-by", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(region, "ru", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(region, "by", StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
if (!isSanctioned)
|
|
||||||
return;
|
|
||||||
|
|
||||||
MessageBox.Show(
|
|
||||||
"You cannot use this software on the territory of a terrorist state. " +
|
|
||||||
"Set the environment variable `RUSNI=PYZDA` if you wish to override this check.",
|
|
||||||
"Sanctioned region",
|
|
||||||
MessageBoxButton.OK,
|
|
||||||
MessageBoxImage.Error
|
|
||||||
);
|
|
||||||
|
|
||||||
Environment.Exit(0xFACC);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue