private void Message_Get(string data) { Task.Run(() => { Poll(); }); JsonPollMessage poll = (JsonPollMessage)JsonConvert.DeserializeObject(data, typeof(JsonPollMessage)); if (poll.retcode != 0) { var msg = message.ErrorMsg(poll); if (!string.IsNullOrEmpty(msg)) { ptwebqq = msg; } } else if (poll.result != null && poll.result.Count > 0) { for (int i = 0; i < poll.result.Count; i++) { switch (poll.result[i].poll_type) { case "kick_message": message.Running = false; break; case "message": if (ProcessMsg) { message.ProcessMsg(poll.result[i].value, SendMsgAction); } break; case "group_message": if (ProcessGroupMsg) { message.GroupMessage(poll.result[i].value, SendMsgAction); } break; case "discu_message": if (ProcessDiscussMsg) { message.DisscussMessage(poll.result[i].value, SendMsgAction); } break; default: //poll.result[i].poll_type; break; } } } }
/// <summary> /// /// </summary> /// <param name="poll"></param> /// <returns></returns> public string ErrorMsg(JsonPollMessage poll) { int TempCount103 = Count103; Count103 = 0; if (poll.retcode == 102) { return(""); } else if (poll.retcode == 103) { Count103 = TempCount103 + 1; if (Count103 > 20) { Running = false; } return(""); } else if (poll.retcode == 116) { return(poll.p); } else if (poll.retcode == 108 || poll.retcode == 114) { Running = false; return(""); } else if (poll.retcode == 120 || poll.retcode == 121) { Running = false; return(""); } else if (poll.retcode == 100006 || poll.retcode == 100003) { Running = false; return(""); } return(""); }