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

📄 qqclient.java

📁 lumaQQ的源文件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    		packet.setMessage(message);
    		packet.setMessageId(messageId);
    		packet.setTotalFragments(totalFragments);
    		packet.setFragmentSequence(fragmentSequence);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 发送固定群消息
     * 
     * @param clusterId
     * @param message
     * @param messageId
     * @param totalFragments
     * @param fragmentSequence
     * @param fontName
     * @param bold
     * @param italic
     * @param underline
     * @param fontSize
     * @param red
     * @param green
     * @param blue
     */
    public void sendClusterIM(int clusterId, 
            String message,
            char messageId,
            int totalFragments,
            int fragmentSequence,
            String fontName,
            boolean bold, 
            boolean italic,
            boolean underline,
            int fontSize,
            int red,
            int green,
            int blue) {
    	if(user.isLoggedIn()) {
    		ClusterSendIMExPacket packet = new ClusterSendIMExPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setMessage(message);
    		packet.setMessageId(messageId);
    		packet.setTotalFragments(totalFragments);
    		packet.setFragmentSequence(fragmentSequence);
    		packet.setFontName(fontName);
    		packet.setFontSize((byte)fontSize);
    		packet.setBold(bold);
    		packet.setItalic(italic);
    		packet.setUnderline(underline);
    		packet.setRed((byte)red);
    		packet.setGreen((byte)green);
    		packet.setBlue((byte)blue);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 发送临时群消息
     * 
     * @param type
     * 		临时群类型
     * @param clusterId
     * 		群内部id
     * @param parentClusterId
     * 		父群id
     * @param message
     * 		消息
     */
    public void sendTempClusterIM(byte type, int clusterId, int parentClusterId, String message) {
    	if(user.isLoggedIn()) {
    		ClusterSendTempIMPacket packet = new ClusterSendTempIMPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setType(type);
    		packet.setParentClusterId(parentClusterId);
    		packet.setMessage(message);
    		packet.setMessageId(packet.getSequence());    		
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 发送临时群消息
     * 
     * @param type
     * 		临时群类型
     * @param clusterId
     * 		群内部id
     * @param parentClusterId
     * 		父群id
     * @param message
     * 		消息
     * @param messageId
     * 		消息id
     * @param totalFragments
     * 		分片数
     * @param fragmentSequence
     * 		分片序号
     */
    public void sendTempClusterIM(byte type, int clusterId, int parentClusterId, String message, char messageId, int totalFragments, int fragmentSequence) {
    	if(user.isLoggedIn()) {
    		ClusterSendTempIMPacket packet = new ClusterSendTempIMPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setType(type);
    		packet.setParentClusterId(parentClusterId);
    		packet.setMessage(message);
    		packet.setMessageId(packet.getSequence());   
    		packet.setTotalFragments(totalFragments);
    		packet.setFragmentSequence(fragmentSequence);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 发送临时群消息
     * 
     * @param type
     * @param clusterId
     * @param parentClusterId
     * @param message
     * @param messageId
     * @param totalFragments
     * @param fragmentSequence
     * @param fontName
     * @param bold
     * @param italic
     * @param underline
     * @param fontSize
     * @param red
     * @param green
     * @param blue
     */
    public void sendTempClusterIM(byte type, 
            int clusterId,
            int parentClusterId,
            String message,
            char messageId, 
            int totalFragments, 
            int fragmentSequence,
            String fontName,
            boolean bold, 
            boolean italic,
            boolean underline,
            int fontSize,
            int red,
            int green,
            int blue) {
    	if(user.isLoggedIn()) {
    		ClusterSendTempIMPacket packet = new ClusterSendTempIMPacket(user);
    		packet.setClusterId(clusterId);
    		packet.setType(type);
    		packet.setParentClusterId(parentClusterId);
    		packet.setMessage(message);
    		packet.setMessageId(messageId);   
    		packet.setTotalFragments(totalFragments);
    		packet.setFragmentSequence(fragmentSequence);
    		packet.setFontName(fontName);
    		packet.setFontSize((byte)fontSize);
    		packet.setBold(bold);
    		packet.setItalic(italic);
    		packet.setUnderline(underline);
    		packet.setRed((byte)red);
    		packet.setGreen((byte)green);
    		packet.setBlue((byte)blue);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 退出一个群
     * @param clusterId 群内部ID
     */
    public void exitCluster(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterExitPacket packet = new ClusterExitPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 解散群
     * 
     * @param clusterId
     */
    public void dismissCluster(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterDismissPacket packet = new ClusterDismissPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, false);	
    	}
    }
    
    /**
     * 退出一个临时群
     * 
     * @param type
     * @param clusterId
     * @param parentClusterId
     */
    public void exitTempCluster(byte type, int clusterId, int parentClusterId) {
    	if(user.isLoggedIn()) {
    		ClusterExitTempPacket packet = new ClusterExitTempPacket(user);
    		packet.setType(type);
    		packet.setParentClusterId(parentClusterId);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 根据外部ID搜索群
     * 
     * @param externalId 群的外部ID
     * @return
     * 		包序号
     */
    public char searchClusterById(int externalId) {
    	if(user.isLoggedIn()) {
    		ClusterSearchPacket packet = new ClusterSearchPacket(user);
    		packet.setExternalId(externalId);
    		packet.setSearchType(QQ.QQ_CLUSTER_SEARCH_BY_ID);
    		pool.send(MAIN.name, packet, true);	
    		return packet.getSequence();
    	} else
    	    return 0;
    }
    
    /**
     * 搜索示范群
     * 
     * @return
     * 		包序号
     */
    public char searchDemoCluster() {
    	if(user.isLoggedIn()) {
    		ClusterSearchPacket packet = new ClusterSearchPacket(user);
    		packet.setSearchType(QQ.QQ_CLUSTER_SEARCH_DEMO);
    		pool.send(MAIN.name, packet, true);	
    		return packet.getSequence();
    	} else
    	    return 0;
    }
    
    /**
     * 加入群
     * @param clusterId
     * @return
     * 		包序号
     */
    public char joinCluster(int clusterId) {
    	if(user.isLoggedIn()) {
    		ClusterJoinPacket packet = new ClusterJoinPacket(user);
    		packet.setClusterId(clusterId);
    		pool.send(MAIN.name, packet, true);	
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 请求加入群
     * @param clusterId 群内部ID
     * @param message 请求的附加信息
     * @return
     * 		包序号
     */
    public char requestJoinCluster(int clusterId, String message) {
    	if(user.isLoggedIn()) {
    		ClusterAuthPacket packet = new ClusterAuthPacket(user);
    		packet.setType(QQ.QQ_CLUSTER_AUTH_REQUEST);
    		packet.setClusterId(clusterId);
    		packet.setMessage(message);
    		pool.send(MAIN.name, packet, true);	
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 同意加入群
     * @param clusterId
     */
    public void approveJoinCluster(int clusterId, int receiver) {
    	if(user.isLoggedIn()) {
    		ClusterAuthPacket packet = new ClusterAuthPacket(user);
    		packet.setType(QQ.QQ_CLUSTER_AUTH_APPROVE);
    		packet.setClusterId(clusterId);
    		packet.setReceiver(receiver);
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 拒绝加入群
     * @param clusterId
     * @param message
     */
    public void rejectJoinCluster(int clusterId, int receiver, String message) {
    	if(user.isLoggedIn()) {
    		ClusterAuthPacket packet = new ClusterAuthPacket(user);
    		packet.setType(QQ.QQ_CLUSTER_AUTH_REJECT);
    		packet.setClusterId(clusterId);
    		packet.setReceiver(receiver);
    		packet.setMessage(message);    
    		pool.send(MAIN.name, packet, true);	
    	}
    }
    
    /**
     * 修改用户的个人信息
     * @param oldPassword 老密码,如果不修改密码,设成null
     * @param newPassword 新密码,如果不修改密码,设成null
     * @param contactInfo 其他信息
     */
    public void modifyInfo(String oldPassword, String newPassword, ContactInfo contactInfo) {
    	if(user.isLoggedIn()) {
	        ModifyInfoPacket packet = new ModifyInfoPacket(user);
	        packet.setOldPassword(oldPassword);
	        packet.setNewPassword(newPassword);
	        String[] infos = contactInfo.getInfoArray();
	        for(int i = 1; i < QQ.QQ_COUNT_MODIFY_USER_INFO_FIELD; i++) {
	            if(infos[i].equals("-"))
	                infos[i] = "";
	        }
	        packet.setContactInfo(contactInfo);
    		pool.send(MAIN.name, packet, true);			
    	}
    }
    
    /**
     * 修改个性签名
     * 
     * @param sig
     * 		个性签名
     */
    public char modifySignature(String sig) {
    	if(user.isLoggedIn()) {
    		SignatureOpPacket packet = new SignatureOpPacket(user);
    		packet.setSubCommand(QQ.QQ_SUB_CMD_MODIFY_SIGNATURE);
    		packet.setSignature(sig);
    		pool.send(MAIN.name, packet, false);
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 删除个性签名
     */
    public char deleteSignature() {
    	if(user.isLoggedIn()) {
    		SignatureOpPacket packet = new SignatureOpPacket(user);
    		packet.setSubCommand(QQ.QQ_SUB_CMD_DELETE_SIGNATURE);
    		pool.send(MAIN.name, packet, false);
    		return packet.getSequence();
    	}
    	return 0;
    }
    
    /**
     * 得到个性签名
     * 
     * @param sigs
     */
    public void getSignature(List<Signature> sigs) {
    	if(user.isLoggedIn()) {
    		SignatureOpPacket packet = new SignatureOpPacket(user);
    		packet.setSubCommand(QQ.QQ_SUB_CMD_GET_SIGNATURE);
    		packet.setSignatures(sigs);
    		pool.send(MAIN.name, packet, false);
    	}
    }
    
    /**
     * 得到好友等级
     * 
     * @param friends
     */
    public void getFriendLevel(List<Integer> friends) {
    	if(user.isLoggedIn()) {
    		FriendLevelOpPacket packet = new FriendLevelOpPacket(user);
    		packet.setFriends(friends);
    		packet.setSubCommand(QQ.QQ_SUB_CMD_GET_FRIEND_LEVEL);
    		pool.send(MAIN.name, packet, false);
    	}
    }
    
    /**
     * 得到一个用户的详细信息
     * @param qqNum 想要得到的用户QQ号
     */
    public void getUserInfo(int qqNum) {
    	if(user.isLoggedIn()) {
	        GetUserInfoPacket packet = new GetUserInfoPacket(user);
	        packet.setQQ(qqNum);
    		pool.send(MAIN.name, packet, false);			
    	}
    }
	
	/**
	 * 请求取得好友名单,如果成功,将会触发get friend list success和
	 * get friend list end事件,用户需要监听这两个事件来得到所有的
	 * 好友信息
	 */
	public void getFriendList() {
	    if(pool.hasConnection(MAIN.name)) {
			// 请求取得好友名单

⌨️ 快捷键说明

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