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

📄 qqclient.java

📁 lumaQQ的源文件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    		packet.setType(QQ.QQ_CLUSTER_TYPE_PERMANENT);
    		packet.setAuthType(authType);
    		packet.setCategory(category);
    		packet.setName(name);
    		packet.setNotice(notice);
    		packet.setDescription(description);
    		packet.setMembers(members);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 请求群的信息
     * 
     * @param clusterId
     * 		群内部ID
     */
    public void getClusterInfo(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterGetInfoPacket packet = new ClusterGetInfoPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	  	        
    	}
    }
    
    /**
     * 设置群成员角色
     * 
     * @param clusterId
     * 		群内部id
     * @param qq
     * 		需要设置的成员
     * @param opCode
     * 		操作码
     */
    public void setMemberRole(int clusterId, int qq, byte opCode) {
    	if(user.isLoggedIn()) {
    		ClusterSetRolePacket packet = new ClusterSetRolePacket(user);
    		packet.setClusterId(clusterId);
    		packet.setQq(qq);
    		packet.setOpCode(opCode);
    		pool.send(MAIN.name, packet, false);
    	}
    }
    
    /**
     * 转让身份
     * 
     * @param clusterId
     * 		群内部id
     * @param qq
     * 		转让到的qq号
     */
    public void transferRole(int clusterId, int qq) {
    	if(user.isLoggedIn()) {
    		ClusterTransferRolePacket packet = new ClusterTransferRolePacket(user);
    		packet.setClusterId(clusterId);
    		packet.setQq(qq);
    		pool.send(MAIN.name, packet, false);
    	}
    }
    
    /**
     * 批量得到群名片
     * 
     * @param clusterId
     * @param start
     */
    public void getCardBatch(int clusterId, int start) {
    	if(user.isLoggedIn()) {
    		ClusterGetCardBatchPacket packet = new ClusterGetCardBatchPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setStart(start);
    		pool.send(MAIN.name, packet, true);	  	        
    	}
    }
    
    /**
     * 得到某个成员的群名片
     * 
     * @param clusterId
     * @param qq
     */
    public void getCard(int clusterId, int qq) {
    	if(user.isLoggedIn()) {
    		ClusterGetCardPacket packet = new ClusterGetCardPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setQQ(qq);
    		pool.send(MAIN.name, packet, true);	  	        
    	}
    }
    
    /**
     * 修改群名片
     * 
     * @param clusterId
     * @param card
     */
    public void modifyCard(int clusterId, Card card) {
    	if(user.isLoggedIn()) {
    		ClusterModifyCardPacket packet = new ClusterModifyCardPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setCard(card);
    		pool.send(MAIN.name, packet, true);
    	}
    }
    
    /**
     * 更新组织架构
     * 
     * @param clusterId
     * 		群内部ID
     */
    public void updateOrganization(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterUpdateOrganizationPacket packet = new ClusterUpdateOrganizationPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);
    	}
    }
    
    /**
     * 提交组织架构
     * 
     * @param clusterId
     * @param organizations
     */
    public char commitOrganization(int clusterId, List<QQOrganization> organizations) {
    	if(user.isLoggedIn()) {
    		ClusterCommitOrganizationPacket packet = new ClusterCommitOrganizationPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setOrganizations(organizations);
    		pool.send(MAIN.name, packet, true);
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 提交成员组织
     * 
     * @param clusterId
     * @param members
     * @return
     * 		包序号
     */
    public char commitMemberOrganization(int clusterId, List<Member> members) {
    	if(user.isLoggedIn()) {
    		ClusterCommitMemberOrganizationPacket packet = new ClusterCommitMemberOrganizationPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setMembers(members);
    		pool.send(MAIN.name, packet, true);
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 请求临时群信息
     * 
     * @param type
     * @param clusterId
     * @param parentClusterId
     */
    public void getTempClusterInfo(byte type, int clusterId, int parentClusterId) {
        if(user.isLoggedIn()) {
            ClusterGetTempInfoPacket packet = new ClusterGetTempInfoPacket(user);
            packet.setType(type);
            packet.setClusterId(clusterId);
            packet.setParentClusterId(parentClusterId);
    		pool.send(MAIN.name, packet, true);	
        }
    }
    
    /**
     * 得到群的在线成员
     * @param clusterId
     */
    public void getClusterOnlineMember(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterGetOnlineMemberPacket packet = new ClusterGetOnlineMemberPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 激活群
     * @param clusterId
     */
    public void activateCluster(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterActivatePacket packet = new ClusterActivatePacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 激活临时群
     * 
     * @param type
     * @param clusterId
     * @param parentClusterId
     */
    public void activateTempCluster(byte type, int clusterId, int parentClusterId) {
    	if(user.isLoggedIn()) {
    		ClusterActivateTempPacket packet = new ClusterActivateTempPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setType(type);
    		packet.setParentClusterId(parentClusterId);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 得到群中成员的信息
     * @param clusterId 群的内部ID
     * @param members 成员的QQ号列表,元素类型是Integer或者Member
     */
    public void getClusterMemberInfo(int clusterId, List<? extends Object> members) {
    	if(user.isLoggedIn()) {
    		// 由于一次最多只能得到61个成员的信息,所以这里按照30个成员一组进行拆分
    		// 因为QQ是一次拆这么多
    		int size = members.size();
    		int times = (size + 29) / 30;
    		for(int i = 0; i < times; i++) {
	    		ClusterGetMemberInfoPacket packet = new ClusterGetMemberInfoPacket(user);
	    		packet.setClusterId(clusterId);
    			for(int j = 30 * i; j < 30 * i + 30 && j < size; j++) {
    				Object obj = members.get(j);
    				if(obj instanceof Integer)
    					packet.addMember((Integer)obj);
    				else if(obj instanceof Member)
    					packet.addMember(((Member)obj).qq);
    			}
        		pool.send(MAIN.name, packet, true);				    				
    		}
    	}
    }
    
    /**
     * 修改群的成员列表
     * 
     * @param clusterId
     * 		群id
     * @param operation
     * 		操作类型
     * @param members
     * 		操作的成员QQ号
     * @return
     * 		包序号
     */
    public char modifyClusterMember(int clusterId, byte operation, List<Integer> members) {
    	if(user.isLoggedIn()) {
    		ClusterModifyMemberPacket packet = new ClusterModifyMemberPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setOperation(operation);
    		packet.setMembers(members);
    		pool.send(MAIN.name, packet, true);	
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 修改临时群成员
     * 
     * @param type
     * 		临时群类型
     * @param clusterId
     * 		临时群id
     * @param parentClusterId
     * 		父群ID
     * @param operation
     * 		操作类型
     * @param members
     * 		成员QQ号数组
     * @return
     * 		包序号
     */
    public char modifyTempClusterMember(byte type, int clusterId, int parentClusterId, byte operation, List<Integer> members) {
        if(user.isLoggedIn()) {
            ClusterModifyTempMemberPacket packet = new ClusterModifyTempMemberPacket(user);
            packet.setType(type);
            packet.setClusterId(clusterId);
            packet.setParentClusterId(parentClusterId);
            packet.setMembers(members);
            packet.setOperation(operation);
    		pool.send(MAIN.name, packet, true);	
            return packet.getSequence();
        }
        return 0;
    }
    
    /**
     * 修改固定群信息
     * @param clusterId 群的内部ID
     * @param name 群名称
     * @param notice 群声明
     * @param description 群简介
     * @param oldCategory 2004群分类
     * @param category 群分类
     * @param authType 群认证类型
     * @return
     * 		包序号
     */
    public char modifyClusterInfo(int clusterId, String name, String notice, String description, int oldCategory, int category, byte authType) {
    	if(user.isLoggedIn()) {
    		ClusterModifyInfoPacket packet = new ClusterModifyInfoPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setName(name);
    		packet.setNotice(notice);
    		packet.setDescription(description);
    		packet.setOldCategory(oldCategory);
    		packet.setCategory(category);
    		packet.setAuthType(authType);
    		pool.send(MAIN.name, packet, true);	
	        return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 修改临时群信息
     * 
     * @param type
     * @param clusterId
     * @param parentClusterId
     * @param name
     * @return
     */
    public char modifyTempClusterInfo(byte type, int clusterId, int parentClusterId, String name) {
    	if(user.isLoggedIn()) {
    		ClusterModifyTempInfoPacket packet = new ClusterModifyTempInfoPacket(user);
    		packet.setType(type);
    		packet.setClusterId(clusterId);
    		packet.setParentClusterId(parentClusterId);
    		packet.setName(name);
    		pool.send(MAIN.name, packet, true);	
	        return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 发送短信
     * 
     * @param mobiles
     * 		接受者的手机号码
     * @param qq
     * 		接受者的QQ号码
     * @param senderName
     * 		发送者名称
     * @param message
     * 		消息字节数组
     * @param seq
     * 		消息序号
     * @return
     * 		包序号
     */
    public char sendSMS(List<String> mobiles, List<Integer> qq, String senderName, byte[] message, char seq) {
    	if(user.isLoggedIn()) {
    		SendSMSPacket packet = new SendSMSPacket(user);
    		packet.setMessageSequence(seq);
    		packet.setMessage(message);
    		packet.setSenderName(senderName);
    		packet.setReceiverMobile(mobiles);
    		packet.setReceiverQQ(qq);
    		pool.send(MAIN.name, packet, true);
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 发送群消息
     * @param clusterId 群内部ID
     * @param message 消息内容
     */
    public void sendClusterIM(int clusterId, String message) {
    	if(user.isLoggedIn()) {
    		ClusterSendIMExPacket packet = new ClusterSendIMExPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setMessage(message);
    		packet.setMessageId(packet.getSequence());
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 发送固定群消息
     * 
     * @param clusterId
     * 		群内部ID
     * @param message
     * 		消息
     * @param messageId
     * 		消息id
     * @param totalFragments
     * 		分片数
     * @param fragmentSequence
     * 		分片序号
     */
    public void sendClusterIM(int clusterId, String message, char messageId, int totalFragments, int fragmentSequence) {
    	if(user.isLoggedIn()) {
    		ClusterSendIMExPacket packet = new ClusterSendIMExPacket(user);
    		packet.setClusterId(clusterId);

⌨️ 快捷键说明

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