private void LoadConfiguration() { if (File.Exists(PatternSpiderConfig.FullPath)) { _patternSpiderConfig = PatternSpiderConfig.Load(); } else { Log.Fatal("PatternSpider: Could not load {0}, creating a default one.", PatternSpiderConfig.FullPath); _patternSpiderConfig = new PatternSpiderConfig(); _patternSpiderConfig.Save(); } }
public PluginManager(PatternSpiderConfig config, DiscordSocketClient client) { _plugins = new List <IPatternSpiderPlugin>(); _commandSymbol = config.CommandSymbol; //Load Plugins through reflection. System.Reflection.Assembly ass = System.Reflection.Assembly.GetEntryAssembly(); foreach (System.Reflection.TypeInfo ti in ass.DefinedTypes) { if (ti.ImplementedInterfaces.Contains(typeof(IPatternSpiderPlugin))) { var plugin = (IPatternSpiderPlugin)ass.CreateInstance(ti.FullName); plugin.ClientConfig = config; plugin.DiscordClient = client; _plugins.Add(plugin); } } var pluginNames = _plugins.Select(plugin => plugin.Name).ToList(); Log.Information("PatternSpider: Loaded {plugins}", pluginNames); }