⚠️特别:
- **从 melobot v2.2.0 开始,版本支持为 python >= 3.10。**
✨ 新增
- 新增 api:`notice_event()`, `req_event()`, `meta_event()`, `msg_event()`。用于获取不同情景下的事件。
- event 和 action 现提供 `mark()` 和 `flag_check()` 方法,用于添加标记、进行标记检查。
- MessageEvent 现支持 `get_cq_params()` 和 `get_cq()` 方法,用于从 event 中提取 cq 消息段和 cq 消息参数。
- 各类文本匹配器(matcher)现支持字符串列表(**list[str]**)入参,同时对于 **list[str]** 型参数,可启用指定逻辑模式进行工作(and, or, not, xor)。
⏩变更
- 获取事件接口 event() 现已细化为四个接口:`notice_event()`, `req_event()`, `meta_event()`, `msg_event()`。实质上都是返回当前 session 下的 event,但新的 api 对 IDE 类型提示功能更友好。
- 获取 cq 参数方法 `get_cq()` 现已改为 `cq_get_params()`。
- **PriorityLevel** 类更名为 **PriorLevel**。
- **MsgEvent** 类更名为 **MessageEvent**。
- bot 生命周期阶段 `BotLife.EVENT_RECEIVED` 更名为 `BotLife.EVENT_BUILT`。
- 修改了 **session.args** 的返回类型,现在的返回类型为 **Dict[str, ParseArgs] | List[Any] | None**。若为 **Dict[str, ParseArgs]** 类型,可使用支持该类型的内置格式化器 **ArgFormatter** 进行格式化。
👍修复
- 修复了在 session 下发送 action 时尝试附加不存在的 event 的错误。
- 修复了 **MessageEvent** 在格式化化 cq 参数时,将 int 类型进一步转换为 float 类型的错误。
- 修复了加载插件时,因加载顺序导致的 **PluginStore** 共享对象重复创建的错误。
- 重写了部分不具体、不清晰、拥有潜在运行隐患的类型标注。
- 修改了部分设计逻辑不合理的内部组件。