Elementary/Elementary/Config/Configuration.cs
2023-08-05 23:14:16 +09:00

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;
}
}