联系人

联系人中所有类均继承 Collection 进行存储(除了 Myself),更多相关用法可参考 Collection 的用法

collection 的结构

你可以把 collection 理解为一个数组,这个数组包含着多个联系人,每个联系人的键名为 UserName 的值。

联系人 属性

Uin	        :	0
UserName : @2a2e7be886a215a698d1eaec204e9ca0f5d6213c5ead54d0e4a11bc4634a7e4a
NickName : HanSon
HeadImgUrl : /cgi-bin/mmwebwx-bin/webwxgetheadimg?seq=627494574&username=@@2a2e7be886a215a698d1eaec204e9ca0f5d6213c5ead54d0e4a11bc4634a7e4a&skey=@crypt_afd548f0_16e95af5ca8196715cb2fa2247b220eb
ContactFlag : 3
MemberCount : 0
MemberList : []
RemarkName :
HideInputBarFlag: 0
Sex : 0
Signature :
VerifyFlag : 0
OwnerUin : 0
PYInitial : VBOTTYQ
PYQuanPin : Vbottiyanqun
RemarkPYInitial :
RemarkPYQuanPin :
StarFriend : 0
AppAccountFlag : 0
Statues : 1
AttrStatus : 0
Province :
City :
Alias :
SnsFlag : 0
UniFriend : 0
DisplayName :
ChatRoomId : @0a8781cccb0a6138c42f496c0cdb6728
KeyWord :
EncryChatRoomId :
IsOwner : 1

myself 属性

  • $nickname 昵称
  • $username 当前 session ID
  • $uin 唯一的ID
  • $sex 性别

获取实例

// 好友实例
$friends = vbot('friends');

// 群实例
$groups = vbot('groups');

// 群成员实例
$members = vbot('members');

// 公众号实例
$officials = vbot('officials');

// 特殊账号实例
$specials = vbot('specials');

// 获取自己实例
$myself = vbot('myself');

API

通用注解

  • $blur 是否模糊搜索

通用API

这里指每个实例都能调用的通用方法,下面用 $friends 作为范例

根据昵称获取对象
$friends->getUsernameByNickname($nickname, $blur = false);
根据备注获取对象
$friends->getUsernameByRemarkName($remark, $blur = false);
搜索出 UserName

search 为搜索的词,key 为要搜索的键

$friends->getUsername($search, $key, $blur = false);
搜索出 联系人

search 为搜索的词,key 为要搜索的键

$friends->getUsername($search, $key, $blur = false);
根据 UserName 获取联系人

当你无法得知该 username 所属时可使用

$friends->getAccount($username);

一般建议根据类型选择,如

$groups->get($username);
获取头像
$data = $groups->getAvatar($username);
file_put_content('avatar.jpg', $data);

好友 API

设置备注
$friends->setRemarkName($username, $remarkName);
设置备注

$isStick 为 true 为置顶,否则相反

$friends->setStick($username, $isStick = true);
添加好友

仅能根据 username 添加好友,换言之,只能添加群成员为好友,content 为添加好友申请说明

$friends->add($username, $content = null);
同意添加好友

$message 为 message handler 接收到的 friend_request 消息,直接扔进来此处即可

$friends->approve($message);

群 API

根据昵称获取群联系人

等同于 $groups->getObject($nickname, 'NickName', $blur);

$groups->getGroupsByNickname($nickname, $blur = false);
根据昵称搜索群成员
$groups->getMembersByNickname($groupUsername, $memberNickname, $blur = false)
创建群聊天

联系人的 username 数组

$groups->create(array $contacts)
删除群成员

移除群成员, $members 可以为单个 username 或者 数组

$groups->deleteMember($groupUsername, $members)
增加群成员
$groups->addMember($groupUsername, $members)
设置群名称
$groups->setGroupName($group, $name)