监听器 | HanSon's 创作空间

监听器

[](https://github.com/hexojs/site/edit/master/source/vbot/docs/observer.md "改进本文")

在 Vbot 运行的每个阶段,都会触发一个监听器,你可以选择是否进行某些个性化的处理。

[](#%E8%8E%B7%E5%8F%96%E5%AE%9E%E4%BE%8B "获取实例:")获取实例:[](#%E8%8E%B7%E5%8F%96%E5%AE%9E%E4%BE%8B)

use HansonVbotFoundationVbot;

use IlluminateSupportCollection;

// ...

$vbot = new Vbot($config);

// 获取监听器实例

$observer = $vbot->observer;

[](#API%E5%88%97%E8%A1%A8 "API列表")API列表[](#API%E5%88%97%E8%A1%A8)

[](#%E4%BA%8C%E7%BB%B4%E7%A0%81%E7%9B%91%E5%90%AC%E5%99%A8 "二维码监听器")二维码监听器[](#%E4%BA%8C%E7%BB%B4%E7%A0%81%E7%9B%91%E5%90%AC%E5%99%A8)

在登录时会出现二维码需要扫码登录。而这个二维码链接也将传到二维码监听器中。

$observer->setQrCodeObserver(function($qrCodeUrl){

});

[](#%E7%99%BB%E5%BD%95%E6%88%90%E5%8A%9F%E7%9B%91%E5%90%AC%E5%99%A8 "登录成功监听器")登录成功监听器[](#%E7%99%BB%E5%BD%95%E6%88%90%E5%8A%9F%E7%9B%91%E5%90%AC%E5%99%A8)

登录成功时回调。无论是第一次登录还是免扫码登录均会触发。

$observer->setLoginSuccessObserver(function(){

});

[](#%E5%85%8D%E6%89%AB%E7%A0%81%E6%88%90%E5%8A%9F%E7%9B%91%E5%90%AC%E5%99%A8 "免扫码成功监听器")免扫码成功监听器[](#%E5%85%8D%E6%89%AB%E7%A0%81%E6%88%90%E5%8A%9F%E7%9B%91%E5%90%AC%E5%99%A8)

免扫码登录成功时回调。

$observer->setReLoginSuccessObserver(function(){

});

[](#%E7%A8%8B%E5%BA%8F%E9%80%80%E5%87%BA%E7%9B%91%E5%90%AC%E5%99%A8 "程序退出监听器")程序退出监听器[](#%E7%A8%8B%E5%BA%8F%E9%80%80%E5%87%BA%E7%9B%91%E5%90%AC%E5%99%A8)

程序退出时回调。

$observer->setExitObserver(function(){

});

[](#%E5%A5%BD%E5%8F%8B%E7%9B%91%E5%90%AC%E5%99%A8 "好友监听器")好友监听器[](#%E5%A5%BD%E5%8F%8B%E7%9B%91%E5%90%AC%E5%99%A8)

此回调仅在初始化好友时执行。

变量 $contacts 含有数组下表 ‘friends’,’groups’,’officials’,’special’,’members’

$observer->setFetchContactObserver(function(array $contacts){

print_r($contacts\['friends'\]);

print_r($contacts\['groups'\]);

// ...

});

[](#%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E5%89%8D%E7%9B%91%E5%90%AC%E5%99%A8 "消息处理前监听器")消息处理前监听器[](#%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E5%89%8D%E7%9B%91%E5%90%AC%E5%99%A8)

接收消息前回调。

$observer->setBeforeMessageObserver(function(){

});

[](#%E5%BC%82%E5%B8%B8%E7%9B%91%E5%90%AC%E5%99%A8 "异常监听器")异常监听器[](#%E5%BC%82%E5%B8%B8%E7%9B%91%E5%90%AC%E5%99%A8)

当接收消息异常时,当系统判断为太久没从手机端打开微信时,则急需打开,时间过久将断开。

$observer->setNeedActivateObserver(function(){

});

上次更新:2017-06-20


原网址: 访问
创建于: 2019-04-14 11:00:55
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论