Example #1
0
        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();
            }
        }
Example #2
0
        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);
        }