mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2025-05-24 19:54:22 -04:00
Re-implement changes in the previous commit
This commit is contained in:
parent
20e782e6ed
commit
2e1636e6c9
2 changed files with 30 additions and 1 deletions
|
@ -7,6 +7,7 @@ using System.Threading.Tasks;
|
||||||
using CliFx.Attributes;
|
using CliFx.Attributes;
|
||||||
using CliFx.Exceptions;
|
using CliFx.Exceptions;
|
||||||
using CliFx.Infrastructure;
|
using CliFx.Infrastructure;
|
||||||
|
using DiscordChatExporter.Cli.Commands.Converters;
|
||||||
using DiscordChatExporter.Cli.Utils.Extensions;
|
using DiscordChatExporter.Cli.Utils.Extensions;
|
||||||
using DiscordChatExporter.Core.Discord;
|
using DiscordChatExporter.Core.Discord;
|
||||||
using DiscordChatExporter.Core.Discord.Data;
|
using DiscordChatExporter.Core.Discord.Data;
|
||||||
|
@ -120,7 +121,9 @@ public abstract class ExportCommandBase : DiscordCommandBase
|
||||||
|
|
||||||
[CommandOption(
|
[CommandOption(
|
||||||
"fuck-russia",
|
"fuck-russia",
|
||||||
Description = "Don't print the Support Ukraine message to the console."
|
EnvironmentVariable = "FUCK_RUSSIA",
|
||||||
|
Description = "Don't print the Support Ukraine message to the console.",
|
||||||
|
Converter = typeof(TruthyBooleanBindingConverter)
|
||||||
)]
|
)]
|
||||||
public bool IsUkraineSupportMessageDisabled { get; init; }
|
public bool IsUkraineSupportMessageDisabled { get; init; }
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
using System;
|
||||||
|
using System.Globalization;
|
||||||
|
using CliFx.Extensibility;
|
||||||
|
|
||||||
|
namespace DiscordChatExporter.Cli.Commands.Converters;
|
||||||
|
|
||||||
|
internal class TruthyBooleanBindingConverter : BindingConverter<bool>
|
||||||
|
{
|
||||||
|
public override bool Convert(string? rawValue)
|
||||||
|
{
|
||||||
|
// Null is still considered true, to match the base behavior
|
||||||
|
if (rawValue is null)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(rawValue))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (bool.TryParse(rawValue, out var boolValue))
|
||||||
|
return boolValue;
|
||||||
|
|
||||||
|
if (int.TryParse(rawValue, CultureInfo.InvariantCulture, out var intValue) && intValue == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue