更新日志

最近更新

💥 破坏性变更

  • Feature: SUPERUSER 权限匹配任意超管事件 @AkiraXie (#1275)
  • Remove: 移除过时的 State 注入参数 @yanyongyu (#1160)
  • Remove: 移除过时的 nonebot.plugins toml 配置 @yanyongyu (#1151)
  • Remove: 移除 Python 3.7 支持 @yanyongyu (#1148)
  • Remove: 删除过时的 Export 功能 @yanyongyu (#1125)

🚀 新功能

  • Feature: SUPERUSER 权限匹配任意超管事件 @AkiraXie (#1275)
  • Feature: 改进 CommandGroup 与 MatcherGroup 的结构 @A-kirami (#1240)
  • Feature: 调整日志输出格式与等级 @yanyongyu (#1233)
  • Feature: 优化依赖注入结构 @yanyongyu (#1227)
  • Featue: load_plugin 支持 pathlib.Path @Lancercmd (#1194)
  • Feature: 新增事件类型过滤 rule @yanyongyu (#1183)
  • Feature: shell command 添加富文本支持 @yanyongyu (#1171)

🐛 Bug 修复

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

💫 杂项

  • Fix: 修正 GenshinUID 的发布类型 @A-kirami (#1243)
  • Remove: 移除未使用的导入 @A-kirami (#1236)
  • Plugin: 更新插件米游社辅助工具 tag @Ljzd-PRO (#1221)
  • Plugin: 修改插件多功能简易群管信息 @HuYihe2008 (#1180)
  • Plugin: 修改插件多功能简易群管信息 @HuYihe2008 (#1159)
  • Plugin: 修改 QQ 续火花插件信息 @GC-ZF (#1158)
  • Plugin: 修改插件多功能简易群管信息 @HuYihe2008 (#1154)

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0-beta.5

🚀 新功能

  • Feature: on_x 支持 expire_time 参数 @Dobiichi-Origami (#1106)
  • Feature: 正向驱动器 startup/shutdown hook 支持同步函数 @synodriver (#1104)

🐛 Bug 修复

  • Fix: 修复插件父子关系识别错漏 @yanyongyu (#1121)
  • Fix: run post hook 应该处理 matcher.state @AkiraXie (#1119)
  • Fix: 修复 setuptools 未安装导致 ImportError @yanyongyu (#1116)
  • Fix: 修复 typing 中 T_RunPostProcessor 类型的注释描述不正确 @A-kirami (#1057)

📝 文档

  • Docs: 添加 nonemoji 并更新开发指南 @yanyongyu (#1088)
  • Docs: 修复 event message 类型注释错误 @yanyongyu (#1079)
  • Docs: 修复旧 Vuepress 文档缓存问题 @StarHeartHunt (#1077)
  • Docs: 更新 Readme 贡献图片 @yanyongyu (#1074)
  • Docs: 注销旧 Vuepress 文档的 Service Worker @StarHeartHunt (#1073)
  • Docs: 修改 权限控制 一节中主动调用的错误 @MingxuanGame (#1072)

💫 杂项

🍻 插件发布

🍻 机器人发布

v2.0.0-beta.4

🚀 新功能

  • Feature: 添加插件元信息定义 @yanyongyu (#1046)
  • Feature: 日志记录自动检测终端是否支持彩色 @BlueGlassBlock (#1034)
  • Feature: 优化插件加载内部逻辑 @yanyongyu (#1011)

🐛 Bug 修复

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

📝 文档

  • Docs:添加文档排版规范 @j1g5awi (#1005)
  • Docs: 更新 require 样例 @yanyongyu (#996)
  • Docs: 更新 README 中的 QQ 频道图标 @mnixry (#997)
  • Docs: 调整跨插件访问文档 @AkiraXie (#993)

🍻 插件发布

🍻 机器人发布

🍻 适配器发布

v2.0.0-beta.3

💥 破坏性变更

  • Fix: 添加 export 方法 Deprecation 警告 @yanyongyu (#983)
  • Feature: 支持 WebSocket 连接同时获取 str 或 bytes @yanyongyu (#962)

🚀 新功能

  • 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)

📝 文档

  • Docs: 修复定时任务一节中的部分拼写错误 @Nova-Noir (#982)
  • Fix: 商店搜索失效 @yanyongyu (#978)
  • Docs: 添加 QQ 频道链接 @StarHeartHunt (#961)
  • Docs: 添加 nonebug 单元测试文档 @MingxuanGame (#929)
  • Docs: 添加 pm2 部署文档 @evlic (#853)
  • Docs: 更新 GitHub Action 部署文档 @kexue-z (#937)
  • Docs: 添加自定义匹配规则文档 @yanyongyu (#914)
  • Docs: 修复适配器文档内商店链接 @yanyongyu (#861)
  • Docs: tips for finding adapters' document link @StarHeartHunt (#860)
  • Docs: 添加对 fastapi_reload 在 Windows 平台额外影响的说明 @CherryGS (#830)
  • Docs: 修复 ci/cd action 中错误的版本号 @Bubbleioa (#819)
  • Docs: 减小更新日志 toc 最大显示等级 @yanyongyu (#813)
  • Docs: 修改议题模板中的错误链接 @he0119 (#807)
  • Docs: 修改消息模板文档中错误的样例 @mnixry (#806)
  • Docs: 更新贡献指南 @yanyongyu (#798)

💫 杂项

  • Plugin: nonebot-plugin-chess 改名为 nonebot-plugin-boardgame @MeetWq (#953)
  • Plugin: 网易云无损音乐下载更改 @kitUIN (#924)
  • Docs: 移除商店中的过期插件 @j1g5awi (#902)
  • CI: 修复发布机器人的意外错误 @he0119 (#892)
  • Docs: 替换和移除部分已经失效的插件 @MeetWq (#879)
  • Docs: 添加 netlify 标签 @yanyongyu (#816)
  • Fix: 修改错误的插件 PyPI 项目名称 @Lancercmd (#804)
  • CI: 添加更新日志自动更新 action @yanyongyu (#799)

🍻 插件发布

🍻 机器人发布

v2.0.0-beta.2

  • 修复 receive, got 在参数为空消息时依旧会反复询问
  • 修复文档商店分页显示错误
  • 修复插件导入失败时,依然存在于已导入插件列表中
  • 移除 state 依赖注入所需的默认值 State()
  • 增加 fastapi 配置项:是否将适配器路由包含在 schema 中
  • 修改 load_builtin_plugins 函数,使其能够支持加载多个内置插件
  • 新增 load_builtin_plugin 函数,用于加载单个内置插件
  • 修改 Message 和 MessageSegment 类,完善 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, Permission 如 startswith, 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, video 对 BytesIO 不正常的读取操作

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

  • 分离 handler 与 matcher
  • 修复 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 加载不合法的包时出现 spec 为 None 的问题
  • 出于CQ 码安全性考虑,使用 cqhttp 的 bot.send 或者 matcher.send 时默认对字符串进行转义
  • 移动 cqhttp 相关 Permission 至 nonebot.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

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