Skip to content

Releases: Meloland/melobot

v3.0.0

16 Dec 10:44
dff90ad
Compare
Choose a tag to compare

melobot 3.0.0 更新日志

⚠️特别:

  • melobot v3 是跨平台、跨协议、支持多路 IO 及其他高级特性的 bot 开发框架,与 v2 完全不兼容。
  • v3 文档教程:melobot docs
特色 描述
实用接口 封装高频使用的异步逻辑,使业务开发更简洁
插件管理 低耦合度、无序的插件加载与通信
处理流设计 可自由组合“处理中间件”为处理流,提升了各组件的复用率
热插拔/重启 处理流支持动态热插拔,支持 bot 级别的重启
会话支持 可在处理流中自动传递的、可自定义的会话上下文
协议支持 所有协议被描述为 IO 过程,因此支持各类协议
跨平台 更简洁的跨平台接口,便捷实现跨平台插件开发
跨协议 IO 支持多个协议实现端同时输入,自由输出到指定协议实现端
日志支持 日志记录兼容标准库和绝大多数日志框架,可自行选择

✨ 特性

对比上一预发布版本 3.0.0rc21,主要有:

  • 内置日志器添加 yellow_warn 参数,可在智能着色模式下强制警告消息为醒目的黄色 0dae81d
  • 现在使用 PluginPlanner 声明插件及各种插件功能 4508081
  • PluginPlanner 现在支持使用 use 装饰器来收集各种插件组件(处理流、共享对象与导出函数) ecec685
  • 添加了用于处理 OneBot v11 实体(事件、动作与回应)数据模型验证异常的 OneBot v11 适配器接口 when_validate_error 4bddb6a 0589f3a a4d35b3

⏩变更

对比上一预发布版本 3.0.0rc21,主要有:

  • 计划中需要移除的 api 和组件(移除了方法 Args, Context.in_ctx 与传统插件类 Pluginec518f5
  • 改进了 io 层的 packet 限制,现在所有 packet 不再是 frozen88eeb85
  • 改进了 adapter 层的组件,现在钩子 BEFORE_EVENT 重命名为 BEFORE_EVENT_CREATE,钩子 BEFORE_ACTION 重命名为 BEFORE_ACTION_EXEC d50d3a3

👍修复

对比上一预发布版本 3.0.0rc21,主要有:

  • 项目各处类型注解的改进 1bd8760
  • OneBot v11 协议中自定义消息段类型创建和解析 3026543 51f7cbe f006ee0 819489f
  • OneBot v11 正向 websocket IO 源忽略 bot 停止信号 da0e3df
  • 文档与内置异常提示更正

♥️新贡献者

v2.2.0

05 Mar 15:03
Compare
Choose a tag to compare

⚠️特别:

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

v2.1.0

04 Mar 18:21
Compare
Choose a tag to compare

更新至:v2.1.0。添加了新的 api:event(), msg_text(), to_cq_arr()

不重要:修改了内部某些方法的类型标注和定义

v2.0.0

03 Mar 15:43
Compare
Choose a tag to compare

v2 版本现已发布!(*^▽^*)

✨ v2 新版特色

  • 基于 asyncio 的高性能异步
  • 插件化管理
  • 异步的自动上下文(会话)
  • 可高度自定义的中间件功能
    • 权限检查、规则校验、解析组件等
  • 支持生命周期 hook
  • 人性化、丰富的接口设计

📦️ 食用方法

pip install melobot

版本支持:

  • python >= 3.8
  • platform == All(mac 平台未测试)
  • OneBot 标准 >= 11

v1.2.1

19 Mar 15:46
386b531
Compare
Choose a tag to compare
  • 修复了向不在白名单的群聊发送命令后,响应“权限不足”提示消息的 bug
  • 修复了 logs 日志文件夹不会自动创建的 bug

v1.2.0

26 Dec 09:51
Compare
Choose a tag to compare
  • 增加了默认配置和首次配置生成的功能。首次运行若缺少配置文件,将会自动生成;配置文件中所有配置项现在均有默认值,若使用默认值,配置文件中可以不用填写。
  • 修复了 go-cqhttp 在遇到特殊字符时响应空串,从而导致空事件对象的 bug。目前空串将不会生成事件对象。

v1.1.5

22 Dec 14:42
Compare
Choose a tag to compare
  • 修复了关键词应答时,对黑名单成员提示“权限不够”的 bug:现在不再对黑名单成员回复任何消息。

v1.1.4

22 Dec 14:34
Compare
Choose a tag to compare
  • 修复了状态命令中,bot 运行时间显示的 bug:现在 bot 运行时间中的天数可正常显示。

v1.1.3

14 Dec 07:21
Compare
Choose a tag to compare
  • MeloBot 1.1.3 版本发布!