v3 更新日志
Notable Changes
- orm: 大幅优化了 query 语法,支持了表达式和操作符机制
Features
Bug Fixes
- cli: 修复了 koishi start 不自动支持 koishi.config.yml 的问题 (#306) (
bac8a01
) - eval: 修复了同时使用
useSpread
和 useBuiltIns
导致的冲突 (#316) (ad05b4e
) - mongo: 不手动传入默认的 27017 端口以避免
MongoParseError
(#312) (11bbad7
) - teach: 修复了当使用正则表达式时存储了错误的转义表达式的问题 (#309) (
ce19057
)
Features
Bug Fixes
Features
Bug Fixes
- adventure: 修复了
Event.gain()
未修改 session._gains
的问题 (58a290f
) - adventure: 修复了部分情况下 use 指令可以在无法使用物品状态下调用的问题 (
eb11cc1
) - adventure: 修复了剧情存在状态时 items 回调函数报错的问题 (
26621aa
) - common: 优化了 bind 指令的文本提示 (
c654d66
)
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
)
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
)
Features
- cli: 加入了模块缓存以获得更快的加载速度 (
5f1860c
) - core: 支持了在无数据库情况下使用
ctx.broadcast()
(cfca079
) - dice: 支持了经典的 rxdy 掷骰语法 (
8a5f915
) - kaiheila: 支持了 markdown 消息段 (
f7d9dca
)
Bug Fixes
Notable Changes
- koishi-plugin-webui 新增了插件市场视图
Features
Bug Fixes
- adventure: 修复了重复计算结局达成次数的问题 (
dfd683c
) - adventure: 修复了 ending 指令查看剧情线失效的问题 (
4d77b86
) - adventure: 修复了 show 指令直接调用时参数丢失的问题 (
e87ac4d
) - cli: 修复了成功启动前 SIGINT/SIGTERM 无效的问题 (
632dc61
) - core: 修复了由于 esbuild 导致的插件不一致问题 (
398ad5b
)
Notable Changes
- koishi-test-utils@6.0.0 正式发布
- koishi 配置文件新增了 deamon 配置项,用于定制监控进程的行为
Features
Bug Fixes
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
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
)
Notable Changes
- 全部文档已经合并到了主仓库,并补充了许多内容,也更便于接收 Pull Request
Features
Bug Fixes
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
Features
Bug Fixes
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
Notable Changes
- koishi start 加入了针对 koishi.config.js 等文件变动的重载支持
- koishi-plugin-eval 支持了多语言接口(目前官方仅支持 typescript)
Features
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
)
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
Features
Bug Fixes
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
)
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
)
Notable Changes
- koishi-plugin-status 更名为 koishi-plugin-webui 并发布,支持了由插件扩展页面的功能
- koishi-plugin-common 支持了 recall 指令,同时丰富了 echo 指令的语法
Features
Bug Fixes
- onebot: 修复了错误的
bot.$sendGroupNotice
实现 (#191) (dc7d832
) - puppeteer: 修复了 tex 指令输入没有被转义的问题 (
d8b0f75
)
- 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
)
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
)
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
Notable Changes
- 下一代 status 插件支持了生产模式
- 新增 command patch 功能:通过 patch 创建的指令如果不存在,将不会发生变化;如果已存在,将按照后续的链式调用进行修改
Features
Bug Fixes
Notable Changes
- 下一代 status 插件支持了沙箱和登录功能,并提供了 mongo 数据库支持
Features
- database: 支持了自定义表,允许不同数据库对统一功能提供不同实现 (
875f75b
) - status: 加入了路由,导航栏和侧边栏,优化了页面样式 (
89583a3
, c8df0fa
, 86043a4
, 1cf52be
, 42381c5
, 5ff956f
, bd33be6
) - status: 实现了沙箱和登录功能,增加了 token 机制 (
bf99513
, c50ba31
, 064810c
, bbfac8a
, 2e03e5d
) - status: 优化了数据传输接口,并支持显示数据库大小 (
d17428e
, dfdba08
) - status: 提供了 mongo 数据库支持 (#160) (
6956c81
) - utils: 新增了
remove()
帮助函数 (e500178
)
Bug Fixes
- core: 将 disable 设置为指令所需字段,修复了定时指令报错的问题 (#155) (
97d8732
) - status: 修复了仪表盘中图表溢出界面问题,在沙箱中提供了自动滚动至底部的功能 (#157) (
a976035
) - discord: 回退了上个版本更新的 embed segment,采用会话属性的方式重新实现 (
7da0784
) - core: 修复了快捷调用不会受到上下文限制的问题 (#159) (
49c2c39
)
Notable Changes
- koishi-plugin-chess@3.0.0 正式发布
- 发布了下一代 status 插件的第一个 alpha 版本,新版本将包含一个网页 UI,整合了丰富的数据统计功能,包括消息数量统计、指令调用统计和问答文字云等等
Features
- core: 优化了
ctx.dispose()
发生错误时的处理逻辑 (bf18011
) - core: 支持了非 apply 形式的 Database 成员 (
e90bf73
) - adventure: 支持了 disposable 协议 (
1e91ae5
) - common: 优化了 switch 指令的提示文本 (
389341f
) - discord: 在消息中添加了 embed segment (
22dc774
) - image-search: 优化了错误处理 (
14a2aee
) - status: 支持了网页端和数据统计功能 (
9dcdd69
, 10e9bf6
, 964390b
, 1f8b1ad
, 2c91f87
, fbd767a
, 66a46a6
, b3b4711
, b3d8b70
, 00f9c46
, cbe38c3
, 5ddf07b
, c539454
, ee112cf
, db6f808
, 593f3e9
, 0a83138
) - tools: 新增了百度百科支持 (#153) (
ae3f004
)
Bug Fixes
Notable Changes
- koishi-plugin-mongo@2.0.0 正式发布
- koishi-plugin-mysql@3.0.0 正式发布
- koishi-plugin-teach@2.0.0 正式发布
Features
Bug Fixes
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
Notable Changes
- koishi-plugin-common@4.0.0 正式发布
- koishi-plugin-puppeteer@2.0.0 正式发布
- koishi-plugin-schedule@3.0.0 正式发布
Features
Bug Fixes
- schedule: 修复了热重载时可能发生内存泄漏的问题 (
1483031
) - test-utils: 修复了错误的
MemoryDatabase
实现 (e71590d
)