v3 更新日志

Koishi 3.13.0

Notable Changes

  • orm: 大幅优化了 query 语法,支持了表达式和操作符机制

Features

  • discord: 支持了当遇到错误时将继续发送剩余片段 (#267) (7dd8292)
  • eval: 针对 CoffeeScript 支持了 top-level await (#319) (b009642)
  • orm: 支持了请求表达式和正则语法 (#305) (657e4b2)
  • orm: 支持了传入 IndexType 以严格匹配的语法 (3cc390a)
  • orm: 支持了 $regexFor 操作符 (8e5fe1a)

Bug Fixes

  • cli: 修复了 koishi start 不自动支持 koishi.config.yml 的问题 (#306) (bac8a01)
  • eval: 修复了同时使用 useSpreaduseBuiltIns 导致的冲突 (#316) (ad05b4e)
  • mongo: 不手动传入默认的 27017 端口以避免 MongoParseError (#312) (11bbad7)
  • teach: 修复了当使用正则表达式时存储了错误的转义表达式的问题 (#309) (ce19057)

Koishi 3.12.3

Features

  • adventure: 优化了类型标注 (bfc5ded)
  • adventure: 新增了 Action.useItem()onTimeout 配置项 (16a22f0)
  • teach: 移除了正则表达式的兼容性检测代码 (#299) (#300) (b3c5d73)

Bug Fixes

  • core: 使用 Number.isFinite() 以检验输入内容 (#302) (e625328)
  • discord: 修复了部分情况下会发生连续两次重连的问题 (#297) (845afc0)
  • eval: 修复了错误的插值行为 (#304) (616142b)
  • teach: 修复了特定正则表达式的匹配不符合预期的问题 (#249) (20e6522)
  • webui: 修复了对 MySQL 的不兼容问题 (#295) (cc27cd8)

Koishi 3.12.2

Features

  • adventure: 新增了 item.add, item.remove, item.set 指令 (73cf5bf)
  • common: 将插件入口分离以便于用户部分安装 (12346ab)
  • discord: 支持了 handleMixedContent 配置项 (#279) (8fb6912, 253b0d6, e96a920)
  • discord: 支持了 reaction 相关事件和 API (21d06f2, f0d9a61)
  • kaiheila: 支持了 reaction 相关事件 (#296) (173ce85)

Bug Fixes

  • adventure: 修复了 Event.gain() 未修改 session._gains 的问题 (58a290f)
  • adventure: 修复了部分情况下 use 指令可以在无法使用物品状态下调用的问题 (eb11cc1)
  • adventure: 修复了剧情存在状态时 items 回调函数报错的问题 (26621aa)
  • common: 优化了 bind 指令的文本提示 (c654d66)

Koishi 3.12.1

Features

  • adventure: 新增了 adventure/gain 和 adventure/before-timer 事件 (126832a)
  • adventure: 优化了 Event.gain() 操作的行为 (1981c0c, 4b01056)
  • adventure: 支持了 phase.prepare 属性,用于在阶段初期初始化状态 (b6c0527)
  • adventure: 新增了若干 Action.choose() 的配置项 (b22612c)
  • adventure: add-item 指令支持了 -p 选项,用于控制物品添加行为是否触发相关事件 (bd54c86)
  • discord: 新增了 bot.$setGroupName(), bot.$setGroupCard() 方法 (#283) (83cfa2a)
  • discord: 优化了图片类消息段的发送行为 (#280) (#282) (12207bd)
  • onebot: 支持了最新的 go-cqhttp API (90d9dc8)
  • test-utils: MockedApp 默认情况下将不使用数据库缓存 (782d33f)

Bug Fixes

  • adventure: 优化了结局列表的输出 (b527e0e)
  • adventure: 剧情锁将定时解除,以防止内存泄漏 (af73653)
  • chat: 修复了 debug 输出时报错的问题 (5f34a0e)
  • common: 修复了 assign 和 authorize 指令的异常行为 (#292) (c342ce0)
  • core: 针对贪婪匹配的参数支持了自定义类型 (2087b7c)
  • core: 针对快捷调用支持了自定义类型 (a055b26)
  • utils: 当插值中出现 ReferenceError 时使用空串替代 (0426a86)

Koishi 3.12.0

Notable Changes

  • 新增了工具库 koishi-dev-utils,支持了使用装饰器开发插件

Features

Bug Fixes

  • adventure: 修复了用户数据中存有未知结局时会产生报错的问题 (72d8ae7)
  • chat: 修复了与其他适配器共同使用时的类型错误 (a5af832)
  • core: 修复了 koa-bodyparser 的类型错误 (5fd2228)
  • eval: 修复了少量平台中 SyntaxError 不附带位置信息的问题 (ac7e67b)
  • puppeteer: 修复了 selector 参数被错误转义的问题 (03507fa)
  • webui: 修复了未安装数据库时 status 指令报错的问题 (27717c9)

Koishi 3.11.2

Features

  • cli: 加入了模块缓存以获得更快的加载速度 (5f1860c)
  • core: 支持了在无数据库情况下使用 ctx.broadcast() (cfca079)
  • dice: 支持了经典的 rxdy 掷骰语法 (8a5f915)
  • kaiheila: 支持了 markdown 消息段 (f7d9dca)

Bug Fixes

  • cli: 修复了生成的配置文件中,含有特殊字符的插件名没有引号的问题 (#275) (2badfdf)
  • cli: 修复了当一个插件含有文件级命名子插件时,子插件重载可能失败的问题 (3a0d25d)
  • github: 支持了 request review from team (b60c890)
  • webui: 补全了缺失的依赖库 (#277) (4053909)

Koishi 3.11.1

Notable Changes

  • koishi-plugin-webui 新增了插件市场视图

Features

Bug Fixes

  • adventure: 修复了重复计算结局达成次数的问题 (dfd683c)
  • adventure: 修复了 ending 指令查看剧情线失效的问题 (4d77b86)
  • adventure: 修复了 show 指令直接调用时参数丢失的问题 (e87ac4d)
  • cli: 修复了成功启动前 SIGINT/SIGTERM 无效的问题 (632dc61)
  • core: 修复了由于 esbuild 导致的插件不一致问题 (398ad5b)

Koishi 3.11.0

Notable Changes

  • koishi-test-utils@6.0.0 正式发布
  • koishi 配置文件新增了 deamon 配置项,用于定制监控进程的行为

Features

  • adapter: 为部分平台支持了 at 消息段的 name 属性 (1425974, bf3721c, 824874c)
  • chat: 支持了 QQ 系统内置表情包 (eb7f7a9)
  • chat: 支持了 @用户名 的显示 (8b667ba)
  • cli: 新增了 deamon 配置项 (46be100)
  • cli: 支持了 exit 指令的输出内容模板 (8880c86)
  • cli: 新增了 exit 事件,用于处理接收到 SIGINT 时的行为 (3ca3f72)
  • core: 每一个 Context.delegate() 注册的属性都有对应的事件了 (3dd372d)
  • onebot: 支持了 session.author.roles 属性 (aef0404)

Bug Fixes

  • adapter: 修复了部分平台无法发送本地图片的问题 (#266) (409dcbc)
  • chess: 修复了图片发送失败和自动检测环境中存在的问题 (#263) (0e9b724)
  • common: 修复了无法使用 echo 指令发送跨平台消息的问题 (#264) (5b56651)
  • test-utils: 移除了错误的 mockedApp.start() 方法 (5d1023a)

Koishi 3.10.2

Features

  • chat: 优化了 at 消息段的处理 (d80af91)
  • common: assign 指令支持了 -T 选项,用于取消频道代理者 (40afea0)
  • core: 支持了函数类型的 app.options.prefix (5780080)
  • discord: 为 at, sharp 消息段添加了 name 属性 (43a23ca)
  • kaiheila: 导出了 KaiheilaBot 构造函数 (#258) (8fb118e)
  • puppeteer: 使用 inline-block 布局以获得更好的截图区域 (8f3c98d)
  • webui: 将自动删除距今过于遥远的统计数据 (767853e)
  • webui: 新增了指令调用频率的统计图表 (#252) (4d5d87a)

Bug Fixes

  • common: 修复了错误的类型标注 (#254) (ab64fee)
  • discord: 修复了 message-deleted 事件缺少 id 属性的问题 (#251) (bbd8d6c)
  • webui: 修复了群聊消息频率统计图表当鼠标悬浮时出现报错的问题 (361ea7c)

Koishi 3.10.1

Features

  • cli: 优化了 koishi init 时可供选择的插件列表 (a9b7000)
  • kaiheila: 新增了 kaiheila.attachMode 配置项 (7bc5999)
  • github: 新增了 github.issue 和 github.star 指令 (104841c)
  • webui: 将「机器人」页面合并入「仪表盘」页面 (d70fdcf)

Bug Fixes

  • cli: 修复了插件热重载功能将小概率触发调用爆栈的问题 (4569000)
  • discord: 修复了不符合规范的 user.avatar (14c92ca)
  • discord: 修复了 bot.getMessage() 返回值缺少 groupId 的问题 (c5a0124)
  • image-search: 修复了消息段错误导致在部分平台上无法发送的问题 (ff82bd6)
  • webui: 修复了配合 MySQL 使用时小概率上传数据失败的问题 (#248) (2a0bbfb)

Koishi 3.10.0

Notable Changes

  • 全部文档已经合并到了主仓库,并补充了许多内容,也更便于接收 Pull Request

Features

  • core: 移除了 database.removeUser() 等方法,请使用 ORM API (10d1570)
  • core: 重构代码并调整了 Argv 的类型标注 (9139e7a)
  • discord: 支持了 discord.endpoint 配置项 (1646d9c)
  • kaiheila: 支持了 card, image, video, file 消息段的发送 (41566d9, 6d82272)
  • mysql: 支持了 ORM 声明中外键的初始化 (#243) (6104b9a)
  • webui: 支持了无数据库条件下使用 WebUI (#234) (b211cd8)

Bug Fixes

  • puppeteer: 优化了类型标注 (db51775)
  • utils: template.set() 对于对象模板应该使用深层合并而非覆盖 (#244) (8d05514)

Koishi 3.9.2

Notable Changes

  • koishi-plugin-eval + koishi-plugin-puppeteer 组合支持了 JSX 渲染的功能

Features

  • chat: 移除了上下文相关配置,请直接使用上下文选择器 (2060ed5)
  • chat: 新增了 maxMessages 配置项,可用于控制最大保存的消息数量 (8b91a7b)
  • core: 支持了 app._command.resolve(),可用于查找可能的指令 (#241) (48598db)
  • eval: 对 esbuild, typescript, coffeescript 支持了 JSX 语法 (5425e52, ef71dd2)
  • puppeteer: 为 koishi-plugin-eval 提供了渲染 JSX 并输出的功能 (fc00ff6)
  • puppeteer: 新增了 ctx.puppeteer 接口,可用于 koishi-plugin-chess 等插件 (7a82544, 49f50c7)
  • utils: 支持了 segment.transformAsync() 方法 (861c322)
  • webui: 加入了插件状态徽章,部分插件将被标记为“副作用”“网页扩展” (69a6920)
  • webui: 加入了 npm 版本显示,可用于查看非本地依赖是否是最新版本 (2827a5c)

Bug Fixes

  • monitor: 修复了 MySQL 数据库初始化报错的问题 (#238) (6ccca1b)

Koishi 3.9.1

Features

  • cli: 支持了在配置文件中使用上下文选择器 (#226) (1612a09)
  • eval: 支持了 addons 中补全用户定义的后缀名并加载 (1834daf)
  • eval: 支持了 CoffeeScript (#230) (61e5ea9)
  • webui: 优化了插件页面,支持了运行时热重载插件 (0e26723, 722f343)
  • webui: 将本地图片代理服务器的逻辑重构到 chat 插件中 (47b1e52)

Bug Fixes

  • chat: 修复了聊天页面的内容溢出问题 (#222) (92873e2)
  • cli: 热重载现在可以监测 yaml, json 配置文件的变化了 (51552f7)
  • core: 使用 Map 代替 Object 存储指令别名,以避免可能的攻击 (#232) (bc87290)
  • eval: evaluate 指令的返回值现在也经过 eval/before-send 事件了 (a1e80dd)
  • onebot: 修复了错误的垃圾回收行为 (#227) (2097fe8)
  • webui: 优化了 <k-card> 组件中的文本样式 (#228) (ad94455)

Koishi 3.9.0

Notable Changes

  • koishi-plugin-eval@3.0.0 正式发布
  • koishi 支持了文件级别的插件热重载和重载缓冲机制,能够更好地应对复杂项目中的热重载

Features

  • cli: 支持了 config.logDiff 配置项,将应用于 Logger.showDiff (c07692b)
  • cli: 支持了文件级别的插件热重载 (753c560)
  • cli: 支持了 yaml 格式的配置文件的生成和读取 (33ca25e)
  • eval: 支持了 moduleLoaders 配置项,可用于配置 addons 中使用的语言解析器 (5931316)
  • eval: 支持了在 addons 中直接引入 yaml 文件作为模块 (a3b5297)
  • webui: 支持了 WebSocket 断线重连 (b0df6d8)
  • webui: <k-numeric> 组件将自动适配数据大小所适合的单位 (4ee40b7)

Bug Fixes

  • cli: 修复了短时间多次重载可能导致的崩溃问题 (3d4ebb8)
  • core: 支持了异步的 cmd.check() 回调函数 (#218) (2818e32)
  • eval: 修复了保存 storage 数据失败时,下一次会继续失败的问题 (#225) (2b6cc3b)
  • mongo: 补全了缺少的类型依赖 (cc4e004)
  • mysql: 补全了缺少的类型依赖 (cc4e004)

Koishi 3.8.0

Notable Changes

  • koishi start 加入了针对 koishi.config.js 等文件变动的重载支持
  • koishi-plugin-eval 支持了多语言接口(目前官方仅支持 typescript)

Features

  • cli: 新增了 watch.fullReload 配置项 (44881a7)
  • core: 修改了 autoAssign, autoAuthorize 的默认值以获得更好的上手体验 (8a7503d)
  • core: 优化了 Adapter.WsClient 的提示信息 (959fa2b)
  • eval: 新增了 loader 配置项,可用于实现多语言 (b4dc335, f16c64f, 8639942)
  • puppeteer: 新增了 puppeteer/start 事件 (ad9aa35)
  • webui: 重构了部分代码,将 ctx.webui 实现为一个 Adapter 实例,同时与沙箱有关的功能移至 koishi-plugin-chat (6089379, 8735b3b, 43e00b9, fc0b2a7)

Bug Fixes

  • chat: 修复了 windows 客户端发消息产生的 \r 导致控制台信息异常的问题 (7e19539)
  • discord: 修复了 #212 带来的报错问题 (3a7e6b2)
  • onebot: 修改了 http, ws-reverse 协议中的默认路径为 /onebot (f4ab9c1)
  • webui: 使用 ref 代替 ctx.$el,修复了生产环境报错问题 (#221) (312356c)
  • webui: 修复了 body 无法滚动的问题 (#220) (e3b6894)
  • webui: 修复了 #215 带来的沙箱页面样式失效问题 (3f48974)
  • webui: 修复了 MySQL 支持未能正确实现 ORM 导致 webui 加载报错的问题 (#224) (211bd99)

Koishi 3.7.2

Features

  • discord: 优化了消息类会话的附属字段 (#212) (a280e52)
  • eval: 现在可以在上下文中直接访问 ctx.worker 了 (1e23160)
  • eval: 实验性地支持了 worker.addSetupFile() (c5f3079)
  • utils: segment.from() 新增了第二个参数 options (6c59d86)
  • webui: 支持了虚拟消息列表,解决了大量消息同屏渲染的性能问题 (#215) (3a72c99)
  • webui: 图片查看器支持了快捷键(包括方向键,esc 和回车) (91247e1)

Bug Fixes

  • cli: 修复了 koishi init 在 windows 上可能报错的问题 (#205) (691b7c7)
  • cli: 修复了执行热重载时会非预期地重载部分插件的问题 (32e9f2d)
  • teach: 修复了错误的 authority.context 配置项行为 (#208) (89d53b1)
  • webui: 修复了插件提供的 CSS 没有被网页加载的问题 (#214) (1de4e7b)
  • webui: 修复了 title 配置项对导航栏不生效的问题 (#213) (b429522)

Koishi 3.7.1

Features

  • adventure: 加入了好感度相关教学功能 (f7e77f0)
  • adventure: 重新组织了模块结构 (d6dd128)
  • chat: 支持了客户端发送消息 (27da2e5)
  • chat: 支持了头像显示和引用回复 (9ced6c1, 2abdd45)
  • core: 在 send 事件中加入更多 author 字段 (59ebaa4)
  • webui: 支持了资源服务器以解决跨域问题 (16f2441)
  • webui: 支持了图片查看器,包括图片点击缩放、切换和旋转等功能 (9d20614, 95e5181, 6a48912)

Bug Fixes

  • chat: 修复了没有鉴权的问题 (c0738b7)
  • cli: 支持了在 koishi.config.js 中使用 es 模块语法 (8a20fa7)
  • common: 修复了撤回失败时异常报错的问题 (c9f665e)
  • common: 修复了无配置时部分事件会触发报错的问题 (#209) (3ab470f)

Koishi 3.7.0

Notable Changes

  • 提供了 ctx.with() 方法,能够妥善处理插件之间的依赖关系

Features

Bug Fixes

  • discord: 修复了发送本地文件失败的问题 (#201) (#202) (e0576e5)
  • teach: 修复了未使用 Assets API 时前端显示 NaN 的问题 (a45811d)
  • utils: 修复了 segment.parse() 未返回转义前文本节点的问题 (2cad312)
  • webui: 修复了未使用 Assets API 时服务端报错的问题 (4c84f33)
  • webui: 修复了鼠标悬浮到小时图表的时候报错的问题 (22988d5)
  • webui: 修复了登录和登出时页面切换异常的问题 (7237377)
  • webui: 修复了使用扩展路由时,初始访问无法显示页面的问题 (5b5a21c)

Koishi 3.6.1

Features

  • assets: 支持了 base64 协议 (95adc17)
  • assets: 优化了配置项默认值的推导 (8ec40d7)
  • core: 支持了函数类型的 optionConfig.hidden (c72f607)
  • common: recall 指令每次撤回后将按照 delay.broadcast 延迟一段时间 (dfede39)
  • github: github 指令选项添加了权限限制和上下文检查 (#182) (a4264e9)
  • webui: 在沙箱中支持了 clear 指令,用于清除历史记录 (d23c170)
  • webui: 在沙箱中支持了发送和接收图片,并提供了统一的 chat-panel 组件 (7c1724a, 0f95246)

Bug Fixes

  • cli: 修复了触发热重载时会删除部分 node_modules 中的文件缓存的问题 (ee7bf3d)
  • core: 修复了在指令回调中 return session.execute() 会导致产生两个输出的问题 (a2993f7)
  • core: 修复了指令调用以插值结尾时,会产生错误输出的问题 (#190) (ed1e2d0)
  • discord: 修复了 axiosConfig 配置对发送 embed 消息无效的问题 (#198) (679e8e0)
  • eval: 修复了当会话不处于生命周期时,调用 eval 会导致报错的问题 (#197) (6634298)
  • kaiheila: 修复了网络异常时可能导致程序崩溃的问题 (bc18170)
  • mongo: 修复了 db.update() 不产生效果的问题 (#188) (d5c707f)

Koishi 3.6.0

Notable Changes

  • koishi-plugin-status 更名为 koishi-plugin-webui 并发布,支持了由插件扩展页面的功能
  • koishi-plugin-common 支持了 recall 指令,同时丰富了 echo 指令的语法

Features

  • chat: 初始化 chat 插件,提供了等价于原 common 插件 debug 的功能 (c3270c4)
  • common: 将每个子功能分别暴露为插件导出 (8f1ba35)
  • common: 新增了 echo -c / -u 选项,用于指定输出的目标 (70bb26c)
  • common: 新增了 recall 指令,用于撤回当前频道中的发言 (f786516)
  • core: 允许在一个插件内注册当另一个插件加载时触发的子插件 (cfd9151)
  • core: 新增了 Context.delegate() 方法 (84dc676)
  • discord: 支持了发送 base64 格式的资源消息段 (#196) (2e94f45)
  • utils: 支持了在模板中使用双花括号插值的语法 (5c7ff2a)
  • utils: 支持了 segment.image() 方法中直接传入 Buffer 或 ArrayBuffer,会自动转换为 base64 格式 (02691b8)
  • webui: 重构了服务端代码,提供了 ctx.webui 接口,并允许其他插件扩展页面 (a8ff8a6, e7e28cb, d626a14, 904e589, 2cf79b5, 217fbcd)
  • webui: 支持了页面访问权限检查 (a9b4cf4)

Bug Fixes

  • onebot: 修复了错误的 bot.$sendGroupNotice 实现 (#191) (dc7d832)
  • puppeteer: 修复了 tex 指令输入没有被转义的问题 (d8b0f75)

Koishi 3.5.0

  • koishi-plugin-status@4.0.0 正式发布
  • 新增了 ctx.transformAssets() 方法,结合同时发布的新官方插件 koishi-plugin-assets,可用于实现图片等资源文件的在线转存 (#186)

Features

  • assets: 支持了使用 koa 构建的图片转存服务 (990748e)
  • assets: 支持了 sm.ms 的图片转存服务 (95ad71e)
  • cli: koishi init 现在支持初始化 discord 机器人了 (cc8f609)
  • core: 新增了 ctx.assets 接口和 ctx.transformAssets() 方法 (fa9331f)
  • github: 支持了资源转存机制,以避免链接失效的问题 (f6875a1)
  • mysql: 利用 ORM 机制,现在不需要手动指定 index 了 (f15df3b)
  • status: 优化了 Profile 的获取机制和类型标注 (f8f8d6e)
  • status: 新增了「教学」页面,将显示 koishi-plugin-teach 相关信息 (29f2d8a)
  • teach: 使用 ORM API 重构并简化了部分数据库代码 (#185) (cca4ded)
  • teach: 支持了资源转存机制,以避免链接失效的问题 (b009502)
  • utils: 新增了 segment.transform() 方法 (a78f407)

Bug Fixes

  • core: 修复了使用 WebSocket 在运行时长时间离线导致的报错问题 (#180) (ff470d5)
  • github: 修复了 GitHub 相关功能不支持带 . 的仓库名的问题 (#183) (a090814)
  • github: 修复了 GitHub 相关数据库使用 MySQL 的初始化问题 (#184) (eb9ada5)
  • github: 修复了快速回复机制失效的问题 (8b6f0a4)
  • kaiheila: 修复了 WebSocket 重连失败的问题 (#187) (2b99b08)
  • kaiheila: 修复了 WebSocket 启动时未能获取机器人信息的问题 (6a47e39)

Koishi 3.4.0

Notable Changes

  • koishi-plugin-github@3.0.0 正式发布,将支持众多新特性 (#174)
  • 支持了 ORM API (#178),整合了多个插件的重复代码,有效降低了数据库实现的难度

Features

  • core: 支持了 ORM API (#179) (f2e5535, 256a040)
  • core: 新增了配置项 selfUrl,将被 telegram, github 等功能共用 (967d3f5)
  • github: 支持了 github.repos 指令,用于安全地添加 webhooks (9e962dc, c67ffee)
  • github: 优化了 github 指令,用于在任意频道内订阅已添加的仓库 (6ef52a5)
  • github: 优化了指令的提示信息,将 github 和 github.repos 指令整合使用 (53f4e8f)
  • utils: clone() 方法支持了 RegExp 和 Date 类型的数据 (f2e5535)
  • utils: 使用内置模板函数来格式化输出的时间以实现不同地区输出的统一 (f2e5535)

Bug Fixes

  • core: 修复了当含有插值调用的时候,有小概率不会获取内层指令所需字段的问题 (f2e5535)
  • utils: 修复了 clone() 方法无法处理 undefined 和 null 的问题 (f2e5535)
  • github: 修复了一个 typo (#181) (5378134)
  • github: 修复了大小写混用带来的无法识别问题 (7804663)

Koishi 3.3.1

Notable Changes

  • koishi-plugin-rss@2.0.0 正式发布

Features

  • github: 优化了 markdown 处理,现在能够推送图片信息了 (16c7059)
  • status: 默认情况下将使用相对路径作为 endpoint (acfbdc0)
  • status: 支持了配置项 config.handleSignals (#158, #163) (5690996)
  • status: 支持了配置项 config.title (57e5eba)
  • telegram: 优化了消息段处理 (#167) (19f253e)

Bug Fixes

  • chess: 修复了主动和被动跳过时可能手序错误的问题 (#169) (e814fc9)
  • chess: 修复了第一步悔棋时可能存在的问题 (e7785ca)
  • core: 在指令执行前检查其上下文是否匹配 (#168) (e7d5970)
  • image-search: 修复了错误的指令树结构 (#170) (37aec59)
  • mongo: 修复了 database.getAssignedChannels 的错误实现 (#175, #176) (cd23bc7)
  • onebot: 修复了 notice/poke 事件没有 channelId 的问题 (#172) (e157a55)
  • status: 移除了不必要的开发依赖 (704db01)
  • status: 修复了生产模式下客户端报错的问题 (939c3bc)
  • status: 自动添加尾端 / 重定向以解决路径错误的问题 (f2b6e67)
  • status: 密码登录需要检测浏览器是否为安全环境 (#171) (2738d34)

Koishi 3.3.0

Notable Changes

  • 下一代 status 插件支持了生产模式
  • 新增 command patch 功能:通过 patch 创建的指令如果不存在,将不会发生变化;如果已存在,将按照后续的链式调用进行修改

Features

  • core: 优化了指令创建时的报错信息 (a4498ea)
  • core: 支持了配置项 commandConfig.patch (8c2ce5a)
  • status: 使用 Koishi 自己的端口而不是新建端口 (06fb3ae)
  • status: 支持了生产模式构建 (7c4ba3b)
  • status: 优化了代码分割,同时修复了安全性问题 (#161) (fe6f2c6)
  • status: 移除了 element-plus,降低了打包体积 (cc0e6f6)
  • status: 使用单一机器人实例作为沙箱 (5e989eb)
  • status: 客户端自动保存沙箱聊天记录 (475cd24)
  • telegram: 支持了消息中的 sticker (#164) (099b5c2)

Bug Fixes

  • cli: 修复了插件可能在卸载完成前重载的问题 (2370aca)
  • core: 修复了部分选择器生成的上下文可能不具有可卸载性的问题 (a1f11d6)
  • schedule: 支持了无机器人运行的情况 (2a778e4)
  • status: 修复了用户数据加载错误的问题 (36b3890)
  • status: 修复了 MySql 建表报错的问题 (#166) (b7ce209)
  • utils: 修复了 supports-color 相关类型标注错误的问题 (dd86bc5)

Koishi 3.2.1

Notable Changes

  • 下一代 status 插件支持了沙箱和登录功能,并提供了 mongo 数据库支持

Features

Bug Fixes

  • core: 将 disable 设置为指令所需字段,修复了定时指令报错的问题 (#155) (97d8732)
  • status: 修复了仪表盘中图表溢出界面问题,在沙箱中提供了自动滚动至底部的功能 (#157) (a976035)
  • discord: 回退了上个版本更新的 embed segment,采用会话属性的方式重新实现 (7da0784)
  • core: 修复了快捷调用不会受到上下文限制的问题 (#159) (49c2c39)

Koishi 3.2.0

Notable Changes

  • koishi-plugin-chess@3.0.0 正式发布
  • 发布了下一代 status 插件的第一个 alpha 版本,新版本将包含一个网页 UI,整合了丰富的数据统计功能,包括消息数量统计、指令调用统计和问答文字云等等

Features

Bug Fixes

  • chess: 修复了发起者首先落子时会导致 @全体成员 的问题 (763e975)
  • common: 绑定用户前将删除原账号,防止键冲突 (#152) (de3baaa)

Koishi 3.1.1

Notable Changes

  • koishi-plugin-mongo@2.0.0 正式发布
  • koishi-plugin-mysql@3.0.0 正式发布
  • koishi-plugin-teach@2.0.0 正式发布

Features

  • core: 优化了 Command API 的类型标注 (2b78345)
  • core: 当注册了重复的插件时将显示 stack trace (30ea750)
  • teach: 重新支持了 substitute 选项 (#147) (b42773b)

Bug Fixes

  • core: 修复了指令解析中的错误行为 (2029ad5, feb75cb)
  • core:Adapter.WsClient 提供了默认的重连机制 (1654831)
  • common: 修复了错误的 repeatState.user 类型标注 (84fe7e4)

Koishi 3.1.0

Notable Changes

  • koishi-plugin-image-search@3.0.0 正式发布
  • koishi-plugin-tools@2.0.0 正式发布
  • 新增了 switch 功能,允许运行时在特定的频道禁用某指令

Features

  • core: 指令定义中的展开语法现在也有正确的代码提示了 (c689385)
  • core: 优化了 Domain 的错误提示,新增了 date, posint 等内置类型 (e2bc856, c4d84b3)
  • core: 新增了 bot.avatar, bot.discriminator 属性 (a6ec223)
  • common: 新增了 switch 功能,允许运行时在特定的频道禁用某指令 (7b5948d, 1620482)
  • common: 加入了更多模板,进一步提高了可扩展性 (f5e018f)
  • discord: 消息处理优化和更好的 embed 支持 (c517bf0, 29ee7d1, dfcb7da, 3aa2b94, 07dbd66, 7c9706f, 963d4a6)
  • image-search: 支持了 iqdb 搜索 (#143) (9cd9abb)
  • tools: 新增了 bilibili 链接解析功能 (9a37afe)

Bug Fixes

  • core: 修复了 ctx.setInterval() 的内存泄漏问题 (42f9fa4)
  • core: 修复了 help 指令描述文本错误的问题 (#148) (a1b8b98)
  • core: 修复了指令选项中的空格数量错误的问题 (#148) (72eb362)

Koishi 3.0.1

Notable Changes

  • koishi-plugin-common@4.0.0 正式发布
  • koishi-plugin-puppeteer@2.0.0 正式发布
  • koishi-plugin-schedule@3.0.0 正式发布

Features

  • core: 检测插件副作用和允许显式声明依赖 (6395699, 2ec250f)
  • core: 优化了 Database.extend 的类型标注 (04ac339)
  • core: 群组会话中,无前缀无称呼的消息将不会触发建议 (d5a6f4e)
  • adventure: 优化了编码逻辑,不再直接访问 mysql 插件 (d5cb6a3)
  • common: 新增了 config.generateToken 配置项 (e255886)
  • common: 优化了复读机的配置,并撰写了相关单元测试 (4280a42)
  • discord: 优化了 embed 相关特性 (#145) (f490732)
  • puppeteer: 支持了对特定选择器截图 (278f85d)
  • test-utils: 优化了断言方法的错误提示 (bc53e08)
  • utils: 新增了 random.digits() 方法 (0ba42f9)
  • webui: 实现了多级插件列表的显示 (b338c44)

Bug Fixes

  • schedule: 修复了热重载时可能发生内存泄漏的问题 (1483031)
  • test-utils: 修复了错误的 MemoryDatabase 实现 (e71590d)