《怎樣開發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