public void ParseRawLine(String lineToParse, DateTime dateTime) { Logger.Trace("Incomming Data: {0}", lineToParse); IrcLog.WriteLine(lineToParse, dateTime); //OutgoingQueue.QueueIrc(lineToParse, dateTime); if (lineToParse.Substring(0, 1) == ":") { lineToParse = lineToParse.Substring(1); String[] parameterSplit = lineToParse.Split(" ".ToCharArray(), 3, StringSplitOptions.RemoveEmptyEntries); String sender = parameterSplit[0]; String command = parameterSplit[1]; String parameters = parameterSplit[2]; // Even though we've logged it, we still need to send it down // the line for stuff like PING, CTCP, joining channels, etc. Parse(sender, command, parameters); } else { String[] explode = lineToParse.Split(" ".ToCharArray()); switch (explode[0].ToUpper()) { case "PING": QueueSend("PONG " + explode[1], true); //_serverComm.Send("PONG " + explode[1]); break; } } }
public void InitializeCommandHandler() { sSendMessage = new SendMessage(_servername); sIgnoreChannel = new IgnoreChannel(_servername); sSender = new Sender(_servername); sMyNickInfo = new MyNickInfo(_servername); sIgnoreAddon = new IgnoreAddon(_servername); sIgnoreCommand = new IgnoreCommand(_servername); sIgnoreNickName = new IgnoreNickName(_servername); sIgnoreIrcCommand = new IgnoreIrcCommand(_servername); sMyChannelInfo = new MyChannelInfo(_servername); sIrcLog = new IrcLog(_servername); sAntiFlood = new AntiFlood(_servername); sCtcpSender = new CtcpSender(_servername); sChannelList = new ChannelList(_servername); }
static void Close() { _mainConnection.Disconnect(); IrcLog.CloseLog(DateTime.UtcNow); }