贴吧接口层
新增特性
- 新接口 `Browser.get_statistics` 获取吧务后台的统计数据
- 新接口 `Browser.get_replys` 获取回复列表
- 新增 `_types.Reply` `_types.Replys` `ReplyMeReqIdl_pb2.py` `ReplyMeResIdl_pb2.py` 用于支持新接口 `Browser.get_replys`
变化特性
- `_types.At` 现在是 `_types._Container` 的子类
- `_types._Container.contents` 的定义被移动到子类型中
Bug修复
- 修复了 `_types.Posts` 初始化过程中 `thread_owner_id` 被错误指向 `posts.thread.user` 而不是 `posts.thread.user.user_id` 导致的 `post.is_thread_owner` 字段值异常
- 修复了 `_types.Posts.__init__` 中的一些命名错误
- `Browser.blacklist_add` 和 `Browser.blacklist_cancel` 现在能正确解析返回的json
应用层
新增特性
- 指令管理器允许定义多参数指令
- 若在指令管理器运行过程中修改了 `listen_config.json` ,指令管理器在退出时会放弃将更改写入 `listen_config.json`
- 指令管理器新增鉴权功能,现在可以为用户指定指令权限级别。[`listen_config-example.json`](https://github.com/Starry-OvO/Tieba-Manager/blob/main/config/listen_config-example.json)中 `access_user` 字段的值类型由 `list` 变为 `dict` 以便预设权限级别,请注意比较新旧版的区别。各指令的权限级别请参考[指令管理器说明书](https://github.com/Starry-OvO/Tieba-Manager/wiki/%E6%8C%87%E4%BB%A4%E7%AE%A1%E7%90%86%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E%E4%B9%A6#%E6%9D%83%E9%99%90%E7%BA%A7%E5%88%AB%E8%AF%B4%E6%98%8E)
- 新增指令 `vote_stat` 用于统计投票结果 `set_access` 用于设定用户的权限级别
- 新装饰器 `_check` 用于实现鉴权和参数数目检查的功能
变化特性
- 优化指令解析函数 `Listener._parse_cmd` ,使用函数 `str.find` 替代函数 `re.match` 以提高解析性能
- 优化异步方法,现在指令管理器允许在不阻塞主循环的情况下并发IO时间超长的功能如 `Listener.cmd_vote_stat`