update to v2.4.0 (build 399)

add CheckConfigCommand.php
add config update record docs
adjust swoole version to 4.5.0
fix stop and reload bugs
add $_running_annotation
add remote terminal
update global config
add timer tick exception handler
add zm_xxx global functions
add isAtMe(), splitCommand(), matchCommand() function for MessageUtil
add workerAction(), sendActionToWorker(), resumeAllWorkerCoroutines() functions for ProcessManager
optimize CQCommand match function
add custom TerminalCommand annotation
add TuringAPI
add getReloadableFiles() function for ZMUtil
This commit is contained in:
jerry
2021-03-24 23:34:46 +08:00
parent 28f7f20728
commit 6155236d3c
39 changed files with 1244 additions and 252 deletions

25
docs/update/config.md Normal file
View File

@@ -0,0 +1,25 @@
# 配置文件变更记录
这里将会记录各个主版本的框架升级后,涉及 `global.php` 的更新日志,你可以根据这里描述的内容与你的旧配置文件进行合并。
## v2.4.0 (build 400)
- 调整 `$config['modules']['onebot']` 配置项到 `$config['onebot']`,旧版本的此段会向下兼容,建议更新,
- 新增 `$config['remote_terminal']` 远程终端的配置项,新增此段即可。
更新部分:
```php
/** 机器人解析模块关闭后无法使用如CQCommand等注解(上面的modules即将废弃) */
$config['onebot'] = [
'status' => true,
'single_bot_mode' => false,
'message_level' => 99999
];
/** 一个远程简易终端使用nc直接连接即可但是不建议开放host为0.0.0.0(远程连接) */
$config['remote_terminal'] = [
'status' => false,
'host' => '127.0.0.1',
'port' => 20002,
'token' => ''
];
```

View File

@@ -1,5 +1,39 @@
# 更新日志v2 版本)
## v2.4.0build 400
> 更新时间2021.3.24
- 新增:检查全局配置文件的命令
- 新增:全局配置文件更新记录
- 依赖变更:**Swoole 最低版本需要 4.5.0**
- 优化reload 和 stop 命令重载和停止框架的逻辑
- 新增:`$_running_annotation` 变量,可在注解事件中的类使用
- 新增远程终端Remote Terminal弥补原来删掉的本地终端通过 nc 命令连接即可
- 新增:启动参数 `--worker-num``--task-worker-num``--remote-terminal`
- 更新:全局配置文件结构
- 新增Swoole 计时器报错处理
- 新增:全局方法(`zm_dump()``zm_error()``zm_warning()``zm_info()``zm_success()``zm_verbose()``zm_debug()``zm_config()`
- 新增:示例模块的图灵机器人和 at 机器人的处理函数
- 新增MessageUtil 工具类新增 `isAtMe(), splitCommand(), matchCommand()` 方法
- 新增ProcessManager 进程管理类新增 `workerAction(), sendActionToWorker(), resumeAllWorkerCoroutines()` 方法
- 优化CQCommand 的匹配逻辑
- 新增:支持添加自定义远程终端指令的 `@TerminalCommand` 注解
- 新增:图灵机器人 API 封装函数
- 新增ZMUtil 工具杂项类 `getReloadableFiles()` 函数
- 修复:部分内部存储存在的内存泄漏问题
- 新增remote_terminal远程终端内置模块可以用 nc 直接远程连接框架(弥补原先删除掉的终端输入)
- 新增:`DataProvider::getReloadableFiles()` 返回可通过热重启reload来重新加载的 php 文件列表(多用于调试)
- 兼容性变更:**要求最低 Swoole 版本为 4.5.0**
- 优化reload 和 stop 重载和停止框架的逻辑,防止卡死
- 新增:远程终端命令支持自定义添加(`@TerminalCommand` 注解)
## v2.3.5 (build 398)
> 更新时间2021.3.23
@@ -15,7 +49,6 @@
- 规范代码,修复一个小报错的 bug
## v2.3.0
> 更新时间2021.3.16