private void JoinChannels() { bool run = true; string line = null; while (run && (line = _clientReader.ReadLine()) != null) { Console.WriteLine(line); Model.Query.IRCCommandQuery query = null; if (Parser.IRC.IRCQueryParser.TryParse(_server, line, out query)) { var incomingThread = new IRCSharp.Kernel.Threading.IncomingThread(query, _commandCollecter.CommandManager, _ircWriter); incomingThread.Start(); if (query.Command == Model.Query.IRCCommand.RPL_ENDOFMOTD || query.Command == Model.Query.IRCCommand.ERR_NOMOTD) { _ircWriter.Join(_channels); run = false; } } else { //TODO error has happened. Needs to find a proper way of handling this. } } }
private void StartListning() { string line = null; while ((line = _clientReader.ReadLine()) != null) { Console.WriteLine(line); Model.Query.IRCCommandQuery query = null; if (Parser.IRC.IRCQueryParser.TryParse(_server, line, out query)) { var incomingThread = new IRCSharp.Kernel.Threading.IncomingThread(query, _commandCollecter.CommandManager, _ircWriter); _messageServer.WriteMessageToConnectors(query); incomingThread.Start(); } else { //TODO error has happened. Needs to find a proper way of handling this. } } _messageServer.Stop(); _commandCollecter.Stop(); _client.Close(); _clientStream.Close(); _clientReader.Close(); _ircWriter.Close(); }