[toc]
在新版本 2.0.1 開始,Vbot 開始以擴展的形式去增加業務上的處理,也讓開發者們更加簡單方便的去擴展自己的機器人功能
## 什么是擴展?
擴展是為了方便 Vbot 的使用者能夠更加得心應手的增加一些業務上的功能,通過監聽消息去實現不同的業務功能代碼,并且以擴展的形式能夠非常輕松的進行引入、安裝。
## 擴展的分類
擴展分為官方擴展以及第三方擴展
官方擴展是指由官方人員經過審核、建議、測試后,功能正常、內容健康,并且經過開發者同意后并入官方擴展,安裝官方擴展會有絕對的保障。
第三方擴展是指開發者自行開發,并沒有經過官方審核的一些擴展。
簡單來說,官方擴展就相當于 Google play, Apple store 里面的應用。
所有官方擴展都會在 github 中:?[https://github.com/phpvbot](https://github.com/phpvbot)?(請確保你要安裝的擴展已經有release版本號,不然則為開發中)
### 配置
在配置項,新增加了 extension 作為擴展的配置,消息擴展需要填寫一個
```
$config = [
'log' => ...
/*
* 拓展配置
* ==============================
* 如果加載拓展則必須加載此配置項
*/
'extension' => [
// 管理員配置(必選),優先加載 remark_name
'admin' => [
'remark' => '',
'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`