public override List<IRCResponse> GetResponse(BotMessage message) { if (Regex.IsMatch(message.Command, "^(m(odd)?t(unes)?)$", RegexOptions.IgnoreCase)) { Mpc mpc = new Mpc(); var addresses = System.Net.Dns.GetHostAddresses("moddington.net"); if (addresses.Length > 0) { mpc.Connection = new MpcConnection(new IPEndPoint(addresses[0], 6600)); var song = mpc.CurrentSong(); string songMsg = ""; if (song.HasTitle || song.HasArtist) { if (song.HasTitle) songMsg += song.Title; else songMsg += "<Unknown Title>"; if (song.HasArtist) songMsg += " - " + song.Artist; else songMsg += "<Unknown Artist>"; } else { songMsg += song.File; } var status = mpc.Status(); TimeSpan elapsed = TimeSpan.FromSeconds(status.TimeElapsed); TimeSpan total = TimeSpan.FromSeconds(status.TimeTotal); string timeMsg = (elapsed.Hours > 0 ? elapsed.Hours + ":" : "") + elapsed.Minutes + ":" + elapsed.Seconds.ToString("D2") + "/" + (total.Hours > 0 ? total.Hours + ":" : "") + total.Minutes + ":" + total.Seconds.ToString("D2"); string output = "Playing: " + songMsg + " [" + timeMsg + "] - Listen here: " + ChannelList.EvadeChannelLinkBlock(message, "http://moddington.net:8000/moddtunes.ogg"); return new List<IRCResponse>() { new IRCResponse(ResponseType.Say, output, message.ReplyTo) }; } else { return new List<IRCResponse>() { new IRCResponse(ResponseType.Say, "Moddington's internet radio seems to be down", message.ReplyTo) }; } } return null; }