private static void Message_Process_Error(JsonPollMessage poll) { int TempCount103 = Count103; Count103 = 0; if (poll.retcode == 102) { return; } else if (poll.retcode == 103) { Program.MainForm.listBoxLog.Items.Insert(0, "retcode:103"); Count103 = TempCount103 + 1; if (Count103 > 20) { Running = false; MessageBox.Show("retcode:" + poll.retcode); } return; } else if (poll.retcode == 116) { Program.MainForm.listBoxLog.Items.Insert(0, "retcode:" + poll.retcode + poll.p); ptwebqq = poll.p; return; } else if (poll.retcode == 108 || poll.retcode == 114) { Program.MainForm.listBoxLog.Items.Insert(0, "retcode:" + poll.retcode); Running = false; MessageBox.Show("retcode:" + poll.retcode); return; } else if (poll.retcode == 120 || poll.retcode == 121) { Program.MainForm.listBoxLog.Items.Insert(0, "retcode:" + poll.retcode); Program.MainForm.listBoxLog.Items.Insert(0, poll.t); Running = false; MessageBox.Show("retcode:" + poll.retcode); return; } else if (poll.retcode == 100006 || poll.retcode == 100003) { Program.MainForm.listBoxLog.Items.Insert(0, "retcode:" + poll.retcode); Running = false; MessageBox.Show("retcode:" + poll.retcode); return; } Program.MainForm.listBoxLog.Items.Insert(0, "retcode:" + poll.retcode); }
/// <summary> /// 处理收到的消息 /// </summary> /// <param name="data">收到的消息(JSON)</param> private static void Message_Process(string data) { Program.MainForm.textBoxLog.Text = data; JsonPollMessage poll = (JsonPollMessage)JsonConvert.DeserializeObject(data, typeof(JsonPollMessage)); if (poll.retcode != 0) { Message_Process_Error(poll); } 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": Running = false; MessageBox.Show(poll.result[i].value.reason); break; case "message": Message_Process_Message(poll.result[i].value); break; case "group_message": Message_Process_GroupMessage(poll.result[i].value); break; case "discu_message": Message_Process_DisscussMessage(poll.result[i].value); break; default: Program.MainForm.listBoxLog.Items.Add(poll.result[i].poll_type); break; } } } }