《怎樣開發(fā)Vbot微信機(jī)器人框架的擴(kuò)展》要點(diǎn):
本文介紹了怎樣開發(fā)Vbot微信機(jī)器人框架的擴(kuò)展,希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:web微信和微信機(jī)器人
在Vbot新版本 2.0.1 開始,開始以擴(kuò)展的形式去增加業(yè)務(wù)上處理,也讓開發(fā)者們更加簡單方便的去擴(kuò)展自己的機(jī)器人功能
擴(kuò)展是為了方便 Vbot 的使用者能夠更加得心應(yīng)手的增加一些業(yè)務(wù)上的功能,通過監(jiān)聽消息去實(shí)現(xiàn)不同的業(yè)務(wù)功能代碼,并且以擴(kuò)展的形式能夠非常輕松的進(jìn)行引入、安裝。
Vbot擴(kuò)展分為官方擴(kuò)展以及第三方擴(kuò)展
官方擴(kuò)展是指由官方人員經(jīng)過審核、建議、測試后,功能正常、內(nèi)容健康,并且經(jīng)過開發(fā)者同意后并入官方擴(kuò)展,安裝官方擴(kuò)展會(huì)有絕對的保障。
第三方擴(kuò)展是指開發(fā)者自行開發(fā),并沒有經(jīng)過官方審核的一些擴(kuò)展。
所有官方擴(kuò)展都會(huì)在 github 中: https://github.com/phpvbot (請確保你要安裝的擴(kuò)展已經(jīng)有release版本號,不然則為開發(fā)中)
想要在vbot中引入擴(kuò)展,需要先配置。
在配置項(xiàng),新增加了 extension 作為擴(kuò)展的配置,消息擴(kuò)展需要填寫一個(gè)
$config = [ 'log' => ... /* * 拓展配置 * ============================== * 如果加載拓展則必須加載此配置項(xiàng) */ 'extension' => [ // 管理員配置(必選),優(yōu)先加載 remark_name 'admin' => [ 'remark' => '', 'nickname' => '', ], ], ];
每個(gè)擴(kuò)展都需要加載一個(gè)用戶作為管理員,可以根據(jù)填寫的 備注 或者 昵稱 進(jìn)行搜索,備注優(yōu)先。
【配置示例】
這是一個(gè)黑名單的擴(kuò)展配置示例:參 https://github.com/phpvbot/blacklist
// ... 'extension' => [ // 管理員配置(必選),優(yōu)先加載 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()
負(fù)責(zé)接收一個(gè)擴(kuò)展的數(shù)組
我們用 guess-number 來舉例
先在 vbot 根目錄上進(jìn)行安裝
composer require vbot/guess-number |
安裝完畢后使用實(shí)例去讀取
use Vbot\GuessNumber\GuessNumber;$vbot->messageExtension->load([GuessNumber::class,]); |
指令是指 擴(kuò)展管理員或者機(jī)器人本身 在對機(jī)器人所在的群發(fā)送相關(guān)的指令消息,機(jī)器人會(huì)返回一定的信息或操作
每個(gè)擴(kuò)展都有一個(gè)英文的名稱,如 猜數(shù)字 的名稱為 guess_number
以下指令用 extension
代替,具體需根據(jù)每個(gè)擴(kuò)展的名稱進(jìn)行發(fā)送
extension info
extension on/off
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14500.html