⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicfamilyprocessor.java

📁 java写的qq代码实现qq的部分功能
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	            	break;      
	            /*
	            case QQ.QQ_SMS_REPLY_NOT_BIND_1:
	                log.debug("短消息发送失败,未绑定手机");
	            	e = new QQEvent(packet);
	            	e.type = QQEvent.QQ_SEND_SMS_FAIL;
	            	client.fireQQEvent(e);
	            	break;
	            case QQ.QQ_SMS_REPLY_FRIEND_NOT_BIND_1:
	                log.debug("短消息发送失败,好友未绑定手机");
		        	e = new QQEvent(packet);
		        	e.type = QQEvent.QQ_SEND_SMS_FAIL;
		        	client.fireQQEvent(e);*/
	            default:
	                log.debug("短消息发送失败");
		        	e = new QQEvent(packet);
		        	e.type = QQEvent.QQ_SEND_SMS_FAIL;
		        	client.fireQQEvent(e);
	                break;
	        }            
        } else {
            switch(packet.replyCode_2) {
                case QQ.QQ_SMS_REPLY_OK_2:
	                log.debug("短消息发送成功");
	            	e = new QQEvent(packet);
	            	e.type = QQEvent.QQ_SEND_SMS_SUCCESS;
	            	client.fireQQEvent(e);
	            	break;   
	            /*
	            case QQ.QQ_SMS_REPLY_INVALID_NUMBER_2:
	                log.debug("短消息发送失败,无效的手机号");
	            	e = new QQEvent(packet);
	            	e.type = QQEvent.QQ_SEND_SMS_FAIL;
	            	client.fireQQEvent(e);
	            	break;*/
	            default:
	                log.debug("短消息发送失败");
	        	e = new QQEvent(packet);
	        	e.type = QQEvent.QQ_SEND_SMS_FAIL;
	        	client.fireQQEvent(e);
                break;
            }
        }
    }

	/**
	 * 处理群命令的回复包
	 * @param in
	 * @throws PacketParseException
	 */
	private void processClusterCommandReply(BasicInPacket in) {
		ClusterCommandReplyPacket packet = (ClusterCommandReplyPacket)in;

		switch(packet.subCommand) {
			case QQ.QQ_CLUSTER_CMD_CREATE_CLUSTER:
				processClusterCreateReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_ACTIVATE_CLUSTER:
				processClusterActivateReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_MODIFY_MEMBER:
				processClusterModifyMember(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_CLUSTER_INFO:
				processClusterGetInfoReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_ONLINE_MEMBER:
				processClusterGetOnlineMemberReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_MEMBER_INFO:
				processClusterGetMemberInfoReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_EXIT_CLUSTER:
				processClusterExitReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER:
				processClusterJoinReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH:
				processClusterJoinAuthReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO:
				processClusterModifyInfoReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_SEARCH_CLUSTER:
				processClusterSearchReply(packet);
				break;
			// 这个命令已经过时
//			case QQ.QQ_CLUSTER_CMD_SEND_IM:
//				processClusterSendIMReply(packet);
//				break;
			case QQ.QQ_CLUSTER_CMD_SEND_IM_EX:
			    processClusterSendIMExReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_CREATE_TEMP_CLUSTER:
			    processClusterCreateTempClusterReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_SEND_TEMP_CLUSTER_IM:
			    processClusterSendTempClusterIMReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_EXIT_TEMP_CLUSTER:
			    processClusterExitTempClusterReply(packet);	
				break;
			case QQ.QQ_CLUSTER_CMD_GET_TEMP_CLUSTER_INFO:
			    processClusterGetTempClusterInfoReply(packet);
				break;
			case QQ.QQ_CLUSTER_CMD_MODIFY_TEMP_CLUSTER_MEMBER:
			    processClusterModifyTempClusterMemberReply(packet);	
				break;
		}
	}

    /**
     * 处理修改临时群成员的回复包
     * 
     * @param packet
     */
    private void processClusterModifyTempClusterMemberReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
		    log.debug("临时群成员修改成功,群ID:" + packet.clusterId + " 父ID:" + packet.parentClusterId);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_TEMP_CLUSTER_MEMBER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("临时群成员修改失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_TEMP_CLUSTER_MEMBER_FAIL;
			client.fireQQEvent(e);
		}
    }

    /**
     * 处理创建临时群的回复包
     * 
     * @param packet
     */
    private void processClusterCreateTempClusterReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("临时群创建成功,群ID:" + packet.clusterId + " 父ID:" + packet.parentClusterId);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_TEMP_CLUSTER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("临时群创建失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_TEMP_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
    }

    /**
	 * 处理修改群成员的回复包
	 * 
	 * @param packet
	 * 		ClusterCommandReplyPacket
	 */
	private void processClusterModifyMember(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群成员修改成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_MEMBER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("群成员修改失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_MEMBER_FAIL;
			client.fireQQEvent(e);
		}
	}

    /**
     * @param packet
     */
    private void processClusterSendTempClusterIMReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
		packet.clusterId = ccp.getClusterId();
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("临时群消息发送成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_TEMP_CLUSTER_IM_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("临时群消息发送失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_TEMP_CLUSTER_IM_FAIL;
			client.fireQQEvent(e);
		}
    }

    /**
     * 处理扩展群消息回复包
     * 
     * @param packet
     */
    private void processClusterSendIMExReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群消息发送成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_CLUSTER_IM_EX_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("群消息发送失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_CLUSTER_IM_EX_FAIL;
			client.fireQQEvent(e);
		}
    }
    
	/**
	 * 处理发送群消息的回复包
	 * 
	 * @param packet
	 * 		ClusterCommandReplyPacket
	 * @deprecated
	 * 		QQ_SEND_CLUSTER_IM_SUCCESS和QQ_SEND_CLUSTER_IM_FAIL事件已经不再触发,
	 * 		改为使用QQ_SEND_CLUSTER_IM_EX_SUCCESS和QQ_SEND_CLUSTER_IM_EX_FAIL事件
	 */
	private void processClusterSendIMReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群消息发送成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_CLUSTER_IM_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("群消息发送失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEND_CLUSTER_IM_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理搜索群的回复包
	 * 
	 * @param packet
	 */
	private void processClusterSearchReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群搜索成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_CLUSTER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("搜索群失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
	}

	// 处理修改群信息的回复包
	private void processClusterModifyInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群信息修改成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("群信息修改失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_FAIL;
			client.fireQQEvent(e);
		}
	}

	// 处理认证信息发送的回复包
	private void processClusterJoinAuthReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("认证信息发送成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("认证信息发送失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_FAIL;
			client.fireQQEvent(e);
		}
	}

	// 处理加入群的回复包
	private void processClusterJoinReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
		    switch(packet.joinReply) {
		        case QQ.QQ_CLUSTER_JOIN_OK:
					log.debug("加入群成功");
					e = new QQEvent(packet);
					e.type = QQEvent.QQ_JOIN_CLUSTER_SUCCESS;
					client.fireQQEvent(e);
					break;
				case QQ.QQ_CLUSTER_JOIN_NEED_AUTH:
					log.debug("对方需要认证");
					e = new QQEvent(packet);
					e.type = QQEvent.QQ_JOIN_CLUSTER_NEED_AUTH;
					client.fireQQEvent(e);
					break;
				case QQ.QQ_CLUSTER_JOIN_DENIED:
				    log.debug("对方禁止加入成员");
					e = new QQEvent(packet);
					e.type = QQEvent.QQ_JOIN_CLUSTER_DENIED;
					client.fireQQEvent(e);
					break;
				default:
				    log.debug("收到加入群的回复,但是回复码未知,抛弃该包");
					break;
		    }
		} else {
			log.debug("加入群失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
	}	

    /**
     * @param packet
     */
    private void processClusterExitTempClusterReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
		packet.clusterId = ccp.getClusterId();
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("退出群成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_EXIT_TEMP_CLUSTER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			log.debug("退出群失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_EXIT_TEMP_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
    }

	/**
	 * 处理退出群的回复包
	 * 
	 * @param packet

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -