50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Configuration.Json;
|
|
|
|
namespace Elementary.Config;
|
|
|
|
public class AppSettings
|
|
{
|
|
public DiscordSettings DiscordSettings { get; set; }
|
|
public SozaiSettings SozaiSettings { get; set; }
|
|
public EmojiSettings EmojiSettings { get; set; }
|
|
public VoicevoxSettings VoicevoxSettings { get; set; }
|
|
}
|
|
|
|
public class VoicevoxSettings
|
|
{
|
|
public string Url { get; set; }
|
|
}
|
|
|
|
public class EmojiSettings
|
|
{
|
|
public string DictionaryPath { get; set; }
|
|
}
|
|
|
|
public class SozaiSettings
|
|
{
|
|
public string Url { get; set; }
|
|
}
|
|
|
|
public class DiscordSettings
|
|
{
|
|
public string Token { get; set; }
|
|
}
|
|
|
|
public class Configuration
|
|
{
|
|
public AppSettings AppSettings { get; set; }
|
|
public IConfigurationRoot ConfigurationRoot { get; set; }
|
|
|
|
public Configuration()
|
|
{
|
|
var builder = new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile("appsettings.json", false, true)
|
|
.Build();
|
|
|
|
builder.Bind(this);
|
|
ConfigurationRoot = builder;
|
|
}
|
|
} |