/// <summary>加入群 /// Joins the cluster. /// </summary> /// <param name="clusterId">The cluster id.</param> public void JoinCluster(int clusterId) { ClusterJoinPacket packet = new ClusterJoinPacket(QQClient); packet.ClusterId = clusterId; QQClient.PacketManager.SendPacket(packet, QQPort.Main.Name); }
/// <summary> /// Processes the cluster join reply. /// </summary> /// <param name="inPacket">The in packet.</param> /// <param name="outPacket">The out packet.</param> private void ProcessClusterJoinReply(ClusterCommandReplyPacket inPacket, ClusterJoinPacket outPacket) { QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket>(client, inPacket, outPacket); if (inPacket.ReplyCode == ReplyCode.OK) { switch (inPacket.JoinReply) { case ClusterJoinReply.OK: client.ClusterManager.OnClusterJoinSuccessed(e); break; case ClusterJoinReply.NeedAuth: client.ClusterManager.OnJoinClusterNeedAuth(e); break; case ClusterJoinReply.Denied: client.ClusterManager.OnJoinClusterDenied(e); break; default: break; } } else { client.ClusterManager.OnJoinClusterFailed(e); } }