private void OnError(object sender, NetIrc2.Events.IrcErrorEventArgs e) { switch (e.Error) { case IrcReplyCode.MissingMOTD: return; } Log.WriteError("IRC", "Error: {0} ({1})", e.Error.ToString(), string.Join(", ", e.Data.Parameters)); }
/// <summary> /// New chat message recieve /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void client_GotMessage(object sender, NetIrc2.Events.ChatMessageEventArgs e) { string msg = e.Message.ToString().ToLower(); if (e.Recipient == data["tool"]["twitch_channel"]) { switch (msg) { case "left": { emulator.PressKey(int.Parse(data["emulator"]["left"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "left"); break; } case "right": { emulator.PressKey(int.Parse(data["emulator"]["right"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "right"); break; } case "up": { emulator.PressKey(int.Parse(data["emulator"]["up"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "up"); break; } case "down": { emulator.PressKey(int.Parse(data["emulator"]["down"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "down"); break; } case "a": { emulator.PressKey(int.Parse(data["emulator"]["A"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "a"); break; } case "b": { emulator.PressKey(int.Parse(data["emulator"]["B"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "b"); break; } case "select": { emulator.PressKey(int.Parse(data["emulator"]["select"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "select"); break; } case "start": { // Simple start spam throttle if (CmdSent - LastStart > int.Parse(data["tool"]["start"])) { emulator.PressKey(int.Parse(data["emulator"]["start"], NumberStyles.HexNumber)); CmdSent++; AddToList(e.Sender.Nickname, "start"); LastStart = CmdSent; } break; } } } }
/// <summary> /// Reconnect /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void client_GotIrcError(object sender, NetIrc2.Events.IrcErrorEventArgs e) { if (client.IsConnected == false) { client.Connect("irc.twitch.tv"); client.LogIn(data["tool"]["twitch_username"], "Guest", data["tool"]["twitch_username"], null, null, data["tool"]["twitch_oauth"]); } }