《怎样开发Vbot微信机器人框架的扩展》要点:
本文介绍了怎样开发Vbot微信机器人框架的扩展,希望对您有用。如果有疑问,可以联系我们。
相关主题:web微信和微信机器人
在Vbot新版本 2.0.1 开始,开始以扩展的形式去增加业务上处理,也让开发者们更加简单方便的去扩展自己的机器人功能
扩展是为了方便 Vbot 的使用者能够更加得心应手的增加一些业务上的功能,通过监听消息去实现不同的业务功能代码,并且以扩展的形式能够非常轻松的进行引入、安装。
Vbot扩展分为官方扩展以及第三方扩展
官方扩展是指由官方人员经过审核、建议、测试后,功能正常、内容健康,并且经过开发者同意后并入官方扩展,安装官方扩展会有绝对的保障。
第三方扩展是指开发者自行开发,并没有经过官方审核的一些扩展。
所有官方扩展都会在 github 中: https://github.com/phpvbot (请确保你要安装的扩展已经有release版本号,不然则为开发中)
想要在vbot中引入扩展,需要先配置。
在配置项,新增加了 extension 作为扩展的配置,消息扩展需要填写一个
$config = [ 'log' => ... /* * 拓展配置 * ============================== * 如果加载拓展则必须加载此配置项 */ 'extension' => [ // 管理员配置(必选),优先加载 remark_name 'admin' => [ 'remark' => '', 'nickname' => '', ], ], ];
每个扩展都需要加载一个用户作为管理员,可以根据填写的 备注 或者 昵称 进行搜索,备注优先。
【配置示例】
这是一个黑名单的扩展配置示例:参 https://github.com/phpvbot/blacklist
// ... 'extension' => [ // 管理员配置(必选),优先加载 remark_name 'admin' => [ 'remark' => '', 'nickname' => 'vbot', ], 'blacklist' => [ 'type' => [ 'text', 'emoticon' ], 'warn' => function ($message) { $nickname = $message['fromType'] == 'Group' ? $message['sender']['NickName'] : $message['from']['NickName']; \Hanson\Vbot\Message\Text::send($message['from']['UserName'], "@{$nickname} 警告!你的消息频率略高!"); }, 'block' => function ($message) { $nickname = $message['fromType'] == 'Group' ? $message['sender']['NickName'] : $message['from']['NickName']; \Hanson\Vbot\Message\Text::send($message['from']['UserName'], "@{$nickname} 你已被永久拉黑!"); }, ] ],
use Hanson\Vbot\Foundation\Vbot; // $option = []; $vbot = new Vbot($option); $vbot->messageExtension->load([ // some extensions ]); $vbot->server->serve();
$vbot->messageExtension->load()
负责接收一个扩展的数组
我们用 guess-number 来举例
先在 vbot 根目录上进行安装
composer require vbot/guess-number |
安装完毕后使用实例去读取
use Vbot\GuessNumber\GuessNumber;$vbot->messageExtension->load([GuessNumber::class,]); |
指令是指 扩展管理员或者机器人本身 在对机器人所在的群发送相关的指令消息,机器人会返回一定的信息或操作
每个扩展都有一个英文的名称,如 猜数字 的名称为 guess_number
以下指令用 extension
代替,具体需根据每个扩展的名称进行发送
extension info
extension on/off