mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-04-23 22:43:57 +00:00
Add region-based sanctions
This commit is contained in:
49
DiscordChatExporter.Cli/Sanctions.cs
Normal file
49
DiscordChatExporter.Cli/Sanctions.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
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 isSanctioned = new[]
|
||||
{
|
||||
CultureInfo.CurrentCulture,
|
||||
CultureInfo.CurrentUICulture,
|
||||
CultureInfo.InstalledUICulture,
|
||||
CultureInfo.DefaultThreadCurrentCulture,
|
||||
CultureInfo.DefaultThreadCurrentUICulture
|
||||
}.Any(c =>
|
||||
c is not null && (
|
||||
c.Name.Contains("-ru", StringComparison.OrdinalIgnoreCase) ||
|
||||
c.Name.Contains("-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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user