Cross-platform chatbot framework made with love
MIT License
Bot releases are hidden (Show)
Published by shigma about 2 years ago
初步实现了 Koishi Play。Koishi Play 是一个无后端的在线 Koishi 应用。一方面,用户无需安装任何环境,就可以体验 Koishi 的各项特性;另一方面,插件开发者也获得了一种更加直观的展现插件功能的途径 (koishijs/koishi@b4d40a77981c9b34701674768847e8398803d241, koishijs/console@c400d354acda36546f408dbd7c75d5d6b36650dd, koishijs/console@ed24606d646f60279d3a24765c9d3f07620bbc7f, koishijs/console@479ccb401916ad3ee8e7f5a07a1231549f4a4f4a)。
fallback
参数行为异常的问题 (koishijs/koishi#792) (koishijs/koishi@07315e1901e0f897675482520d28854c64297cc0)element.toString(true)
的错误行为 (satorijs/satori@f84f3511baafaf67219d7ca172ed7b907860ebbb)Published by shigma about 2 years ago
ctx.http
和 Adapter.WsClient
(satorijs/satori@ad62366d8690a664251c0c5ddf9d5a556707d600, satorijs/satori@3e5fb648a80b75ed9aaef248c7e48c970e3aaf5f, satorijs/satori@03774adeb2ca30203ad7939a17a4ccdd891c505b, satorijs/satori@30f618ae6d30e4fe3b9a83c5cd4838acd2e2a125, koishijs/koishi@9b0e4d6ee26a3d3a661312ffce8c79042708686f)ctx.page()
增加了 desc
属性,可定制页面的介绍信息 (koishijs/console@d12861dd3bebb447c398c369bb10d4b0617eecfe)isNullable()
的类型提示 (shigma/cosmokit@910b301ac6e1f304a247f1899d9c6492bdaea5b8)<>
的消息时会识别为未知元素而丢失文本的问题 (satorijs/satori@3dabca012c31710225bded74da7ce78272e213c1)Published by shigma about 2 years ago
注意:此次更新修改了较多内容,因此本轮更新的包都需要通过 @next
或写明版本号来进行安装或升级。如果担心可用性受到影响,可忽略此次更新。
消息元素在用法上与过去的消息段基本相同,不过存在一些差异,请参考下方的升级指南:
segment()
方法将返回一个 segment
对象而不是字符串,且序列化的形式由 CQ 码更改为了 XMLsegment.join()
方法被废弃,请直接使用 array.join()
代替 (过去的方法依然可用且短时间内不会移除)segment
对象的 data
属性被废弃并修改为了 attrs
(过去的 data
属性依然可用且短时间内不会移除)segment
对象了 (过去使用 return segment()
的用户无需修改代码)session.send()
, bot.sendMessage()
方法都支持传入 segment 对象了 (需要适配器支持)Message
和 Session
对象将新增 elements
属性,包含 content
所对应的消息元素Message
和 Session
对象将自带 quote
属性,同时 content
和 elements
属性不会包含该前缀unhandledRejection
错误的问题 (koishijs/koishi@0fd890f3a6dc5cf8acf1f187ddd9a93cedd375d2)error.stack
不存在时会显示异常的问题 (koishijs/koishi#787) (koishijs/koishi@45064c9e7704a9ecc4c717372ddf93d14c7e1d01)Published by shigma about 2 years ago
在这个版本中,我们实验性地为一部分核心包添加了 esm 支持,欢迎希望使用原生 esm 的用户前来体验。注意:这并非意味着 Koishi 将要全面转向 esm 或已经完美支持 esm。事实上,完整的 esm 支持还有很长的路要走 (比如我们需要考虑热重载和异步加载插件等问题),我们将在未来逐步丰富 esm 的支持。
Published by shigma about 2 years ago
DataService
支持了 immediate
配置项,默认为 false
(koishijs/console@52ae888cdc10d765a333a3c50c36c0a9f9714e04)--mirror
写入 .env
文件和环境变量 (koishijs/koishi@085c9a02e33a8fb8e54aabfb78d2d7c269672bd0)registry
配置项,可用于自定义插件源 (koishijs/console@1757b9ef50e70c4df6ea4b7754aa3b329074c9c0)client.shouldReply()
现在能指定接受的消息数量了 (koishijs/koishi@e52c5a4b6e86413c825c2e2bcaefc48c7158ef49)Quester.isAxiosError()
(satorijs/satori@1fe5601cfb473b183b49abd91dce4a35fe6fffb4)Schema.string().pattern()
(shigma/schemastery#8, shigma/schemastery#21) (shigma/schemastery@c0129fe23b3a283536ed9a1cf55dfff70f205c4e, shigma/schemastery@25acf9d046aa6e7a9fb7acd1c78a65e48c684916)ctx.registry.delete()
对于对象式插件无效果的问题 (shigma/cordis@756f22c47e5a4c2922f71f2d5c36655288be1327)intersect
对非对象类型输出错误结果的问题 (shigma/schemastery#26) (shigma/schemastery@631b095e627a4371d2f5754d5f60e433c2dfcb3e)Published by shigma about 2 years ago
<code>
的字体显示 (koishijs/console@ab2282074d09dc904c0b9f86543d9f38dccc5fd7)ctx.collect()
,可用于添加带标签的 disposable (shigma/cordis@3649a2a51815c359521bdc7037142d84f7e6f021)ctx.registry.delete()
移除插件运行时了 (shigma/cordis@99a7cc6f91c408d18e9165215f7d3afa052f5d1a)clear
指令,用于清除沙盒中的聊天记录 (koishijs/koishikoishijs/console#774) (koishijs/console@8286dfbae5ca235179d604828fd43972e80070d7)Quester.isAxiosError()
(satorijs/satori@1fe5601cfb473b183b49abd91dce4a35fe6fffb4)ctx.plugin()
无法正确推断类型的问题 (shigma/cordis@25be0db44ab2c98c4172d8dcd0a55aef897026de)prefix
不支持接受函数输入的问题 (koishijs/koishi@9a2a3ea416f47a7284388e975ebe4becb2c0227d)checkArgCount
后指令 --help
选项报错的问题 (koishijs/koishi#769) (koishijs/koishi@bf39c27287ebaa2e5ee44236840851a547198437)--help
选项会计入调用记录的问题 (koishijs/koishi#772) (koishijs/koishi@b07aba7f3c7f551b203112c0779b6e42c5beaf41)Published by shigma about 2 years ago
k-status
组将将支持 attributes 了 (koishijs/console@c78ec1891c2e2bf8326c74b55739746ef6f46b0b)config.prefix
(koishijs/koishi@9a2a3ea416f47a7284388e975ebe4becb2c0227d)$.gt()
等方法不支持 string, Date 类型的问题 (koishijs/koishi#771) (cosmotype/cosmotype@44f59964b206791d013212179915c8d8332a97f9)Published by shigma about 2 years ago
Published by shigma about 2 years ago
cacheDir
配置项 (koishijs/console@953ee0cb52590c1224cfba7e34f37acbaf2669af).image
文件对应 Content-Type 错误的问题 (#756) (b862dc0b04f03e6671bff8b58b00a7afed354512)requestTimeout
描述错误的问题 (satorijs/satori@17bea046666a012f50b9baf342cf6d26436c4418)ctx.http
路径拼接时可能出现连续多个 /
的问题 (satorijs/satori@79b1de3579ede3f7700f0d01981ec7b3f916f3bb)<k-comment>
(koishijs/console@df1dcda75d08f95d5add664ecbb1c4da0b857fb7)<k-form>
implementation (koishijs/console@e250e5427eae3438155003b434a97e1b60a9bc0b)Published by shigma over 2 years ago
注意:当前版本修改了较多内容,因此本轮更新的包都需要通过 @next
或写明版本号来进行安装或升级。如果担心可用性受到影响,可忽略此次更新。我们会在下个版本移除 @next
标签。
我们将控制台相关插件移至新仓库 koishijs/console 中,并且为这些插件都发布了新的大版本,主要包含以下变更:
searchUrl
配置项,用于手动设置插件市场索引 (koishijs/console@fed912093231dedef5442345a62979ceb4a59136, koishijs/console@68450d0cd058a2644ffd5493775a43a761c9e79d)$el
生成 (#740) (shigma/minato@5b563fa4cdb949aa863265dbb7112c5ac219f98e)Published by shigma over 2 years ago
注意:当前版本修改了较多内容,因此本轮更新的包都需要通过 @next
或写明版本号来进行安装或升级。如果担心可用性受到影响,可忽略此次更新。
我们将适配器相关逻辑移至新仓库 satorijs/satori 中,并调整了适配器 / 机器人的 API,使之成为可重用的插件。想要升级到此版本的用户请参考以下升级指南:
bots
配置项了,如果要安装同一个适配器的多个 Bot 实例,只需安装对应的插件多次即可;同时 protocol
配置项变为必选indents
配置项修改为 bitset 类型,可以在网页控制台中控制每一种事件是否订阅了protocol
配置项的可选值修改为 server
(原来是 http
) 和 polling
metaInterval
配置项不工作的问题 (3124525873288cf854a8ab8d2c71d3675e33df2b)Published by shigma over 2 years ago
这应该是最后一个 4.7 的版本了 (大概)。
autoAssign
设置为 false
时 assign 指令对不在数据库中的频道失效的问题 (#616) (d66ac7f95b00da535ed53934a811ef4d0b3c009d)Published by shigma over 2 years ago
ctx.isolate()
方法,用于创建具有隔离服务的新上下文 (shigma/cordis@b78516fd0ff6853bf6b41c6d047aa8a902ccde89, shigma/cordis@741448c67152077768d80af8caff0738b22906ff)defineDriver()
方法,用于创建可重用的数据库插件;官方的数据库插件目前也已全部支持重用了 (5be03ad46072341eaf0d839f3159fc49b4a7cbb2)$isolate
和 $filter
修饰符 (6f267725ed95d20927de205bbb05811ecda8d8d9, b8ab3c8e3c7ec5eabcde28a0f85c96df81da0f5f, f39100bd6c718c31c8f70aa2613a64edb0d4735b)ctx.extend()
方法,用于以当前上下文为原型创建新上下文 (shigma/cordis@72a1e3236f00539d5a36b1a965159675e73a690c)Context.filter
符号,可用于给事件监听器传入非会话的 this
(shigma/cordis@20212d83539f45c2d0d717bdfe8d54e2bcd9902f)internal/runtime
和 internal/fork
,可用于监听插件状态变更 (shigma/cordis@ea18542e643ddbe0937eee71982ceb6244782156)Context.source
符号,可用于更准确地追踪服务的来源 (shigma/cordis@ec498765735e6dd55ee86ebdf9f2b05201a29f50)state.update()
可能执行异常的问题 (shigma/cordis@c3287815f4f80090accf4c3255cb0aa590cd8125)using
和 reusable
的插件可能执行异常的问题 (shigma/cordis@c339c508e2d65af12af09cfe329a1a1afc5a3fc6)app.stop()
后再次执行 app.start()
功能异常的问题 (shigma/cordis@4e84d332e6689912fac4a02b30a1e72d5bd0c1ea)Published by shigma over 2 years ago
本次更新修复了两个严重 bug,建议所有 4.7.3 用户升级到此版本。
:
代替 @
以解决无法加载带 @
前缀的插件的问题 (#713) (60cd7dbc0cfa7f934d23c4a4d65ebd305d3f9ff9)Published by shigma over 2 years ago
本次更新支持了插件组功能。
internal/hook
事件,可用于定制生命周期事件的行为 (https://github.com/shigma/cordis/commit/39a3a5cf71fc167c243d564ddfe0f9a150481d78, https://github.com/shigma/cordis/commit/a77cd4362aac4e0df0e1f7c4c5bd7f9a2eb6bfa9)Service
类中的 fork 语法糖 (https://github.com/shigma/cordis/commit/66ff567a34d9312dc6a21bf8de66034947bf1ef2)state.update()
,可用于在运行时修改配置项 (https://github.com/shigma/cordis/commit/c23564c6fb818b0a30437252150622140ebbe594, https://github.com/shigma/cordis/commit/09fcf2401489e6f8e73300c3534e48f4f9d164e6, https://github.com/shigma/cordis/commit/d535224da56d7d416fb9fe065e529796aba549e8)lifecycle.mark()
,可用于添加具名的卸载回调函数 (https://github.com/shigma/cordis/commit/08ecc66b272dc986ef69f15ae9c229549320525a)ctx.mock.webhook
访问 (7c8171edd6ac991d9c6179da6a8e57070b332755)Published by shigma over 2 years ago
fork
允许插件被多次加载,并妥善处理每一次时的逻辑 (compare)koishi
属性来配置要显示在插件市场中的信息 (13f143f00548df728e2e851cb521e99d423ecc0c, d5260d68d3b31db54669168777ec46d9465c12b0, 511c242bf5ad19bf7a61d549c0bfad34527f788e, 3f38b68a295378cc0f64aa51787166c96dc73a71, 24484c72e6aa6e551f51be5a87e3fb3417cb287c)tsc
报错没有正常显示的问题 (#650) (4587f9adccfeb98ba4d08387bd89fc7ac2025473)Published by shigma over 2 years ago
message
事件了 (但依然不会经过中间件) (b6d723d21dab21065432b7d5a59a61b6ab79dea5)help
指令及其相关功能从 core 中移到了独立官方插件中 (9e5c747597b8d887552e9b107d48a2d47483cd92)session.suggest()
及其相关功能从 core 中移到了独立官方插件中 (1c462bddb6c4322434b633ab509157d7a500df81)maxPort
配置项,支持了端口递增尝试 (#675) (bc402b0178081846613fdda41a87e068318c44b0)bitset
类型的表单操作 (62502391c06b06c0bed6a965298822c014d342df)boolean
数据类型 (shigma/minato@b5700d01b59a6cf9291e97fbb2b1948af6fa3899)intents
配置项支持了输入字符串列表作为 bitset
了 (b4a0f973dcd041554c5302afd4589622922e2604)bitset
类型 (shigma/schemastery#4) (shigma/schemastery@4a7bd463cc48b79346a2a461d9c0d6d194fa3a91, shigma/schemastery@74cc9a786f7346677b34abf6fb9a12183cdca282)session.sendQueued()
没有返回值的问题 (6a4e96eabb1e1e16d710ac36ec918c3766ecc34a)Published by shigma over 2 years ago
logger.showTime
现在默认为 true 了 (6f5b9598f7fa0e02e012487b5af621838e02de77)createStorage()
中的数组会强行转换为对象的问题 (c81440f6b6ebd2cb570edba76bb7cdc139d895f3)session.cancelQueued()
的错误行为 (#630) (#665) (722366df1fdd2f5cf8a5eec3868cf81614477c2f)Published by shigma over 2 years ago
bot.kickGuildMember()
(b85397f88683985463db247a118a683d44b498d8)registry
,可手动设置插件市场使用的下载源 (#654) (#657) (2161507a67517ed8bd48e460b54613339b7e2ab8)~
和 ^
记号 (50187bdc5d7e746d1d73958cd405c235f1c6db65)selfId
错误的问题 (#661) (cdfba2217b001c1a2faf6b1b424b85ccb77e2a6a)Published by shigma over 2 years ago
virtualKey
配置项,允许使用 _id 存储主键以降低空间占用 (cosmotype/cosmotype@adaccae428ce4347cf3ddd91473874bd9ce00055, cosmotype/cosmotype@cdd8a4ad0a84ceedb9edd28f2644567418efcd60)bot.qqguildPlatform
配置项,用于自定义 QQ 频道的平台名 (fa57cdf6518abc66cad913f7e57f5a425160c018)proxyAgent
会导致 WebSocket 连接失败的问题 (#639) (8954f85c0bc8f0cf2ffce3ec81358db2ad8fa41a)value
自定义值的选项不会显示在帮助中的问题 (#656) (230c658121124ad5747e8300facc765726944c42)-c
选项初始化控制台插件时模板错误的问题 (99f886b76f7fb426d588eb50bae87410e54478de)