mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2024-12-22 14:42:50 +01:00
53 lines
1.0 KiB
C#
53 lines
1.0 KiB
C#
using System;
|
|
using DHT.Utils.Logging;
|
|
|
|
namespace DHT.Desktop {
|
|
sealed class Arguments {
|
|
private static readonly Log Log = Log.ForType<Arguments>();
|
|
|
|
public static Arguments Empty => new(Array.Empty<string>());
|
|
|
|
public string? DatabaseFile { get; }
|
|
public ushort? ServerPort { get; }
|
|
public string? ServerToken { get; }
|
|
|
|
public Arguments(string[] args) {
|
|
for (int i = 0; i < args.Length; i++) {
|
|
string key = args[i];
|
|
|
|
if (i >= args.Length - 1) {
|
|
Log.Warn("Missing value for command line argument: " + key);
|
|
continue;
|
|
}
|
|
|
|
string value = args[++i];
|
|
|
|
switch (key) {
|
|
case "-db":
|
|
DatabaseFile = value;
|
|
continue;
|
|
|
|
case "-port": {
|
|
if (ushort.TryParse(value, out var port)) {
|
|
ServerPort = port;
|
|
}
|
|
else {
|
|
Log.Warn("Invalid port number: " + value);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
case "-token":
|
|
ServerToken = value;
|
|
continue;
|
|
|
|
default:
|
|
Log.Warn("Unknown command line argument: " + key);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|