public ModuleManager(IrcClient client) { LoadedModules = new Dictionary<string, LoadedModule>(); appDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); modulesDirectory = Path.Combine(appDirectory, "Modules"); Directory.CreateDirectory(modulesDirectory); this.client = client; client.OnConnect += () => InvokeModules(m => m.OnConnect()); client.OnLineRead += l => InvokeModules(m => m.OnLineRead(l)); client.OnDisconnect += () => InvokeModules(m => m.OnDisconnect()); }
static void Main(string[] args) { var setupFilename = args.Length > 0 ? args[0] : "CSBot.xml"; IrcClientSetup setup; using (var streamReader = new StreamReader(setupFilename)) setup = IrcClientSetup.Deserialize(streamReader); var client = new IrcClient(setup); var moduleManager = new ModuleManager(client); moduleManager.LoadAllModules(); client.Connect(); }