using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; namespace FNZCM.ConHost { public interface IConfigFile { 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 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; } } }