更新日志

最近更新

🚀 新功能

  • Feature: 使用 typing.override 标记 @yanyongyu (#2193)
  • Feature: 补充响应器组属性 @eya46 (#2154)
  • Feature: CommandGroup 支持命令别名添加前缀选项 @eya46 (#2134)
  • Feature: 添加用于动态继承支持适配器数据的方法 @NCBM (#2127)
  • Feature: 添加内置插件的插件元数据 @yanyongyu (#2113)
  • Feature: 插件商店适配最新的插件元数据 @he0119 (#2094)
  • Feature: 依赖注入支持 Generic TypeVar 和 Matcher 重载 @yanyongyu (#2089)

🐛 Bug 修复

  • Fix: 修复 Quart WS task 上下文错误 @yanyongyu (#2192)
  • Fix: 修复 dotenv 配置项为 None 将会跳过赋值 @eya46 (#2143)
  • Fix: 修复 ArgParam 不支持 Annotated @eya46 (#2124)
  • Fix: aiohttp 请求时 data 和 file 不能同时存在 @j1g5awi (#2088)
  • Fix: 修复因 loguru 更新导致的启动和关闭日志 name 不正常 @DiheChen (#2080)

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0

💥 破坏性变更

🚀 新功能

🐛 Bug 修复

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0rc4

🚀 新功能

🐛 Bug 修复

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

v2.0.0rc3

🚀 新功能

🐛 Bug 修复

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0rc2

💥 破坏性变更

  • Feature: 使用 importlib.metadata 替换 pkg_resources @A-kirami (#1388)

🚀 新功能

🐛 Bug 修复

  • Fix: Bot __getattr__ 不再对 __xxx__ 方法返回 @synodriver (#1398)
  • Fix: 修复 run pre/post hook 没有在正确的上下文中运行 @yanyongyu (#1391)

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0-rc.1

💥 破坏性变更

🚀 新功能

🐛 Bug 修复

  • Fix: 内置规则和权限没有捕获错误 @yanyongyu (#1291)
  • Fix: 修复 User 会话权限更新嵌套问题 @yanyongyu (#1208)
  • Fix: 修复当消息与不支持的类型相加时抛出的异常类型错误 @mnixry (#1166)

💫 杂项

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0-beta.5

🚀 新功能

🐛 Bug 修复

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

v2.0.0-beta.4

🚀 新功能

🐛 Bug 修复

  • Fix: 修复 MessageSegment 在有额外数据时报错 @yanyongyu (#1055)
  • Fix: 修复环境变量无法覆盖 dotenv 内配置项值 @yanyongyu (#1052)
  • Fix: 修复依赖注入 bot event 参数 union 校验失败 @yanyongyu (#1001)

📝 文档

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0-beta.3

💥 破坏性变更

🚀 新功能

  • Feature: 支持 WebSocket 连接同时获取 str 或 bytes @yanyongyu (#962)
  • Feature: 添加 CommandStart 依赖注入参数 @MeetWq (#915)
  • Feature: 添加 Rule, Permission 反向位运算支持 @yanyongyu (#872)
  • Feature: 新增文本完整匹配规则 @A-kirami (#797)

🐛 Bug 修复

  • Fix: 修复依赖注入默认值参数在 __eq__ 被重写时报错的问题 @yanyongyu (#971)
  • Fix: 修复MessageTemplate在没有格式化说明符时行为不正确的问题 @mnixry (#947)
  • Fix: Bot Hook 没有捕获跳过异常 @yanyongyu (#905)
  • Fix: 修复部分事件响应器参数类型中冗余的 Optional @A-kirami (#904)
  • Fix: 修复 event 类型检查会对类型进行自动转换 @yanyongyu (#876)
  • Fix: 修复 on_fullmatch 返回类型错误 @yanyongyu (#815)
  • Fix: 修复 DataclassEncoder 嵌套 encode 的问题 @AkiraXie (#812)

📝 文档

💫 杂项

🍻 插件发布

🍻 机器人发布

v2.0.0-beta.2

  • 修复 receive, got 在参数为空消息时依旧会反复询问
  • 修复文档商店分页显示错误
  • 修复插件导入失败时,依然存在于已导入插件列表中
  • 移除 state 依赖注入所需的默认值 State()
  • 增加 fastapi 配置项:是否将适配器路由包含在 schema 中
  • 修改 load_builtin_plugins 函数,使其能够支持加载多个内置插件
  • 新增 load_builtin_plugin 函数,用于加载单个内置插件
  • 修改 MessageMessageSegment 类,完善 typing,转移 Mapping 构建支持至 pydantic validate
  • 调整项目结构,分离内部定义与用户接口
  • 新增 Bot 连接事件钩子 (如 driver.on_bot_connect ) 的依赖注入

v2.0.0-beta.1

  • 新增 MessageTemplate 对于 str 普通模板的支持
  • 移除插件加载的 NameSpace 模式
  • 修改 toml 加载插件时的键名为 tool.nonebot 以符合规范
  • 新增 Handler 依赖注入支持,同步/异步支持
  • 统一 Processor, Rule, Permission, Processor 使用 Handler
  • 修改内置 Rule, Permissionstartswith, command 等使用 class 实现
  • 更换文档框架 (docusaurus) 以及主题 (docusaurus-theme-nonepress)
  • 移除 Matcher state_factory 支持

v2.0.0a16

  • 新增 MessageTemplate 可用于 Message 的模板生成
  • 新增 matcher.got matcher.send matcher.pause matcher.reject matcher.finish 支持 MessageTemplate
  • 移除 matcher.got 原本的 state format 支持,由 MessageTemplate template 替代
  • adapter 基类拆分为单独文件
  • 修复 fastapi Driver Websocket 未能正确提供请求头部
  • 新增 fastapi Driver 更多的 uvicorn 相关配置项
  • 新增 quart Driver 更多的 uvicorn 相关配置项
  • 修复 endswith Rule 错误的正则匹配
  • 修复 cqhttp Adapter image, record, videoBytesIO 不正常的读取操作

v2.0.0a15

  • 修复 fastapi Driver 未能正确进行 reconnect
  • 修复 MessageSegment 错误的 Mapping 映射

v2.0.0a14

  • 修改日志等级,支持输出等级自定义
  • 修复日志输出模块名错误
  • 修改 Matcher 属性 module 类型
  • 新增 Matcher 属性 plugin_name module_name module_prefix
  • 移除 bot.call_api 参数 self_id 切换机器人支持
  • 修复 type_updater permission_updater 未传递的错误
  • 修复 type_updater permission_updater 参数 state 错误
  • 修复使用 state_factory 后导致无法在 session 内传递 state
  • 重构 Driver 及连接信息抽象
  • 新增正向 Driver(Client) 支持
  • 新增 aiohttp 正向 Driver
  • fastapi Driver 新增正向支持

v2.0.0a13.post1

  • 分离 handlermatcher
  • 修复 cqhttp secret 校验出错
  • 修复 pydantic 1.8 导致的 alias 问题
  • 修改 cqhttp ding session id,不再允许跨群
  • 修改 shell_command 存储 message
  • 修复 cqhttp 检查 reply 失败退出
  • 新增 call_api hook 接口
  • 优化 import hook

v2.0.0a11

  • 修改 nonebot 项目结构,分离所有 adapter
  • 修改插件加载逻辑,使用 import hook (PEP 302)
  • 新增插件加载方式: json, toml
  • 适配 pydantic ~1.8
  • 移除 4 种内置事件类型限制,允许自定义事件类型
  • 新增会话权限更新自定义,会话中断时更新权限以做到多人会话

v2.0.0a10

  • 新增 Quart Driver 支持
  • 修复 mirai 协议适配命令处理以及消息转义

v2.0.0a9

  • 修复 Message 消息为 None 时的处理错误
  • 修复 Message.extract_plain_text 返回为转义字符串的问题
  • 修复命令处理错误地删除了后续空格
  • 增加好友添加和加群请求事件 approve, reject 方法
  • 新增 mirai-api-http 协议适配
  • 修复 rule 运行时 state 覆盖问题,隔离 state
  • 新增 shell like command 支持

v2.0.0a8

  • 修改 typing 类型注释
  • 修改 event 基类接口
  • 修复部分非法 CQ 码被识别导致报错
  • 修复非 text 类型 CQ 码 data 未进行去转义
  • 修复内置插件未进行去转义,修改内置插件为 cqhttp 定制
  • 修复 load_plugins 加载不合法的包时出现 specNone 的问题
  • 出于CQ 码安全性考虑,使用 cqhttp 的 bot.send 或者 matcher.send 时默认对字符串进行转义
  • 移动 cqhttp 相关 Permissionnonebot.adapters.cqhttp 包内

v2.0.0a7

  • 修复 cqhttp 检查 to me 时出现 IndexError
  • 修复已失效的事件响应器仍会运行一次的 bug
  • 修改 cqhttp 检查 reply 时未去除后续 at 以及空格
  • 添加 get_plugin 获取插件函数
  • 添加插件 export, require 方法
  • 移除内置 apscheduler 定时任务支持
  • 移除内置协议适配默认加载
  • 新增钉钉协议适配
  • 移除原有共享型 MatcherGroup 改为默认型 MatcherGroup

v2.0.0a6

  • 修复 block 失效问题 (hotfix)

v2.0.0a5

  • 更新插件指南文档
  • 修复临时事件响应器运行后删除造成的多次响应问题