using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; namespace FNZCM.Core { public interface IConfigFile { string AdminPassword { get; } IReadOnlyDictionary Libraries { get; } string[] MediaFilePattern { get; } string[] BkFilePattern { get; } string ListenPrefix { get; } string Title { get; } } public class ConfigFile : IConfigFile { static ConfigFile() => Reload(); public static void Reload() => Instance = JsonConvert.DeserializeObject(File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config.json"))); public string AdminPassword { get; set; } public string ListenPrefix { get; set; } public string Title { get; set; } public IReadOnlyDictionary Libraries { get; set; } public string[] MediaFilePattern { get; set; } public string[] BkFilePattern { get; set; } public static IConfigFile Instance { get; private set; } } }