public void SendMessage(string msg) { if (!msg.StartsWith("/")) { bnetConnection.SendMessage(msg); var chatMsg = new BnetEvent(); chatMsg.EventId = 0x18; chatMsg.Message = msg; chatMsg.Username = bnetAccount.Username; chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); } else { if (msg.ToLower() == "/reconnect") { ChannelUsers.Clear(); ChannelList.Clear(); FriendsList.Clear(); ChattingStatus = "disconnected"; Connect(); } else if (msg.ToLower() == "/version") { bnetConnection.SendMessage("/me is using Superiority.NET Beta5 (www.BNET.cc)."); } else { bnetConnection.SendMessage(msg); } } }
/// <summary> /// Used internally and by AccountViewModel to connect/reconnect to Battle.net /// </summary> public void Connect() { bool ret = false; if (bnetAccount["Username"] != null) { var chatMsg = new BnetEvent(); chatMsg.EventId = 0x13; chatMsg.Message = string.Format("You have an error in your settings: {0}", bnetAccount["Username"]); chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); ret = true; } if (bnetAccount["Password"] != null) { var chatMsg = new BnetEvent(); chatMsg.EventId = 0x13; chatMsg.Message = string.Format("You have an error in your settings: {0}", bnetAccount["Password"]); chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); ret = true; } if (bnetAccount["CdKey"] != null) { var chatMsg = new BnetEvent(); chatMsg.EventId = 0x13; chatMsg.Message = string.Format("You have an error in your settings: {0}", bnetAccount["CdKey"]); chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); ret = true; } if (bnetAccount["HomeChannel"] != null) { var chatMsg = new BnetEvent(); chatMsg.EventId = 0x13; chatMsg.Message = string.Format("You have an error in your settings: {0}", bnetAccount["HomeChannel"]); chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); ret = true; } if (ret) { var chatMsg = new BnetEvent(); chatMsg.EventId = 0x13; chatMsg.Message = "Settings validation failed! Fix the errors listed above then type /reconnect to try again."; chatMsg.TimeStamp = DateTime.Now; ChatMessages.Add(chatMsg); Messenger.Default.Send <ScrollDownMessage>(new ScrollDownMessage() { Source = this }); return; } if (bnetConnection != null) { bnetConnection.Dispose(); } ChattingStatus = "connecting"; ThreadPool.QueueUserWorkItem((object state) => { bnetConnection = new BnetConnection(bnetAccount, token); bnetConnection.Connect(); }); }