🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[toc] 在 Vbot 运行的每个阶段,都会触发一个监听器,你可以选择是否进行某些个性化的处理。 ### 获取实例: ``` use Hanson\Vbot\Foundation\Vbot; use Illuminate\Support\Collection; // ... $vbot = new Vbot($config); // 获取监听器实例 $observer = $vbot->observer; ``` ### API列表 ##### 二维码监听器 在登录时会出现二维码需要扫码登录。而这个二维码链接也将传到二维码监听器中。 ``` $observer->setQrCodeObserver(function($qrCodeUrl){ }); ``` ##### 登录成功监听器 登录成功时回调。无论是第一次登录还是免扫码登录均会触发。 ``` $observer->setLoginSuccessObserver(function(){ }); ``` ##### 免扫码成功监听器 免扫码登录成功时回调。 ``` $observer->setReLoginSuccessObserver(function(){ }); ``` ##### 程序退出监听器 程序退出时回调。 ``` $observer->setExitObserver(function(){ }); ``` ##### 好友监听器 此回调仅在初始化好友时执行。 变量 $contacts 含有数组下表 ‘friends’,’groups’,’officials’,’special’,’members’ ``` $observer->setFetchContactObserver(function(array $contacts){ print_r($contacts['friends']); print_r($contacts['groups']); // ... }); ``` ##### 消息处理前监听器 接收消息前回调。 ``` $observer->setBeforeMessageObserver(function(){ }); ``` ##### 异常监听器 当接收消息异常时,当系统判断为太久没从手机端打开微信时,则急需打开,时间过久将断开。 ``` $observer->setNeedActivateObserver(function(){ }); ```