private static void InitChattable(IChattable source) { if (!InitdChattables.Contains(source)) { string sourceStr = source.ToString(true); var config = (JObject)AppStatusConfig.Config; config.Add(new JProperty(sourceStr, new JObject()), false); var sourceConfig = (JObject)config[sourceStr]; var newConfig = new JObject(); var apps = AppUtilities.GetApps(source); foreach (AppBase app in apps) { if (app.CanDisable) { newConfig.Add(sourceConfig.ContainsKey(app.Name) ? new JProperty(app.Name, sourceConfig[app.Name]) : new JProperty(app.Name, app.IsEnabledByDefault)); } } sourceConfig.Replace(newConfig); AppStatusConfig.Save(); InitdChattables.Add(source); } }
internal bool IsEnabled(IChattable source) => !CanDisable || AppStatusConfig.Config[source.ToString(true)][Name].ToObject <bool>();