Skip to content

v2.2.0

Latest
Compare
Choose a tag to compare
@aicorein aicorein released this 05 Mar 15:03
· 337 commits to main since this release

⚠️特别:

  • 从 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 共享对象重复创建的错误。
  • 重写了部分不具体、不清晰、拥有潜在运行隐患的类型标注。
  • 修改了部分设计逻辑不合理的内部组件。