📄 qqclient.java
字号:
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 + -