1、获取好友分组组名列表
命令:3c
发送:
1030196367;3c;0;4b2b432f;1;
第五个参数只有1和2两个值,什么时候为2未知,用1即可获取到所需数据(可能表示从哪个编号的分组开始获取,最多两次就获取完了,我没创建那么多分组也没法测试啊。~_~)。
服务器返回:
1030196367;3c;0;02;1;试试;2;看看;
第四个是自定义分组的数量。再往后就明白了,需要说明的是自定义分组序号是从1开始的,0是“我的好友”系统默认的分组,1000是“陌生人”,1001是“黑名单”,显然自定义分组上限是999,超不过999。
有没有想过?这些数据由“;”分开,那组名能不能有“;”呢?答案是肯定的,不信你试试。加过分号后的数据如下
1030196367;3c;0;02;1;试%3B试%3B;2;%3B2%3B;
看到了吧?分号变成%3B,具体哪些要特殊处理另外说明。注意,分组序号不一定是连续的,可能没有某个或某几个序号。
这样好友分组组名列表就获取完了,下面开始获取好友吧。
2、获取好友QQ号
命令:58
发送:
1030196367;58;0;4b2b432f;0;
第五个表示从哪个好友QQ号开始获取,第一次请求自然是0了。
服务器返回如下数据(个人隐私,好友QQ号用XXXX代替)
1030196367;58;0;0;XXXX;0;8;10;3;XXXX;0;4;20;3;XXXX;0;0;10;3;XXXX;1;0;20;3;
第四个是下次从哪个QQ号开始获取(一次可能获取不完),例子中的数据显然是指这次就把所有数据都获取完了。
XXXX就是好友QQ号了,第二个值如果小于4表示服务器返回的这些好友数据每五项为一个好友数据,否则每四项为一个好友数据,0表示是好友QQ号,1表示是群ID(但不是群号)。第三个为所属分组编号(明显不对,呵呵,计算方法是(n&60)>>2,这个结果就是所属分组编号了);第四个是好友状态,10表示在线,20表示下线,30表示离线,其他当下线处理;有第五个,第五个表示terminationStat,自己上次退出登录时该好友的状态。
作者:yjh4866