Releases: iTXTech/mirai-js
Releases · iTXTech/mirai-js
Mirai Js 2.0-RC-dev2
- Recompile with mirai
2.8.0
and kotlin1.5.30
. - Optimize code.
Mirai Js 2.0-RC-dev1
- Recompile with mirai
2.7-M1
- Fix a fatal error caused by permission system loading issue.
Mirai Js 2.0-RC
Mirai Js 2.0-RC,基于 Mirai(console) 2.4.0
。
2.0-RC 是一个稳定版本。 之后版本更新将会有插件兼容性保证(API 和 加载机制等)。
变更日志
API 变更:
- 完善了
external
模块,现在可以加载外部的jar
文件(暂不支持 Android)。
功能:
- 控制台支持热加载(
load
)插件。 - 抛弃多文件自定义加载顺序,改为树状加载(类似 Node.js)。
优化:
- 解除了
PluginScope
和PluginPackage
的关系。 - 稳定性[UP↑],BUG[↓]。
基本开发文档已经完成, API 正在编写中。
Mirai Js 2.0-M2
MiraiJs 于 rewrite
分支的第二个测试性构建,基于 Mirai(console) 2.3.2
。
变更日志:
API 变更:
- 新增从
1.2.1
版本继承的控制台指令模块command
。 - 完善了
storage
模块,现在可以存储基本数据(如number
,string
和boolean
)。 coroutine
模块添加了isCancelled()
用于判断插件是否被卸载(unload
)。coroutine
模块添加了默认从插件协程作用域启动协程的launch(callback)
和async(callback)
。
功能:
- 控制台支持重载 (
reload
),卸载 (unload
) 和列出加载的插件 (list
) 指令。 - 插件配置
config.json
中支持自定脚本加载顺序。
优化:
- 正确捕获插件异常,调整插件和插件加载的协程上下文关系。
- 稳定性[UP↑],BUG[↓]。
食用方法和 API 正在编写中,会先在
rewrite
的分支中展示几个示例。
注意:此版本为测试版本,在版本号的-Mx
消失之前不保证API
的兼容性。
Mirai Js 2.0-M1
此版本是 MiraiJs 于 rewrite
分支的第一个测试性构建,基于 Mirai(console) 2.0.0
。
2.0-M1
与 1.2.1
相比是完全不同的版本,包括 API 变更,控制台指令 等,具体的不同包括:
API 变更:
-
移除了
plugin
,core
,bot
,stor
,完全修改了logger
,http
的方法。 -
新增 API:
coroutine
(较为完整的 Kotlin 协程支持)
mirai
(原生 package: net.mamoe.mirai)
miraiKt
(Mirai API 中的 Kotlin独占方法封装(如selectMessages
,nextEvent
))
external
(提供加载外部 Jar 的方法)
storage
(替代原stor
的部分功能,提供加载插件包中的资源方法)。
加载方式变化:
- 不再通过在插件中定义
pluginInfo
来指定插件信息,改为插件 zip 压缩包。
插件压缩包的结构:
myplugin.zip
├─── plugins <---- 存放 JavaScript 插件主体。
│ ├─── main.js <---- 主脚本,若存在则先加载 main.js,再加载其他脚本。
│ ├─── other1.js <---- 其他脚本。
│ └─── other2.js <---- 其他脚本。
├─── resources <---- 资源文件,会被在首次加载时解压到 <base>/data/org.itxtech.miraijs.MiraiJs/data/<plugin id>/ 中。
│ ├─── a.jpg
│ ├─── b.jar
│ ├─── c.jar
│ ├─── d.json
│ └─── ...
└─── config.json <---- 插件信息。
插件信息的结构 config.json
:
{
// 插件ID,必须是独一无二的,否则会冲突。
"id": "me.myname.testplugin",
// 插件名称,可以为空。
"name": "TestPlugin",
// 插件作者,可以为空。
"author": "PluginAuthor",
// 插件描述,可以为空。
"description": "This is a test mirai-js plugin."
}
- 抛弃使用
plugin.ev.onLoad
和plugin.ev.onEnable
等方式触发加载事件。
控制台指令变化:使用方式基本没发生变化。
食用方法和 API 正在编写中,会先在
rewrite
的分支中展示几个示例。
注意:此版本为测试版本,在版本号的-Mx
消失之前不保证API
的兼容性。
Mirai Js 1.2.1
注意:本版本仅支持mirai console 2.0-M2
MiraiJs 1.2.0
注意:本版本仅支持 mirai console 2.0-M1
Mirai Js 1.1.0
注意:本版本仅支持mirai console 1.0-RC-dev-29
新特性:
- 添加部分帮助方法
Mirai Js 1.1.0-rc.1
注意:本版本仅支持mirai console 1.0-M3
注意:近期插件API可能有大变动,迁移到mirai console
提供的统一插件管理API
更改
- 命令采用新的API形式,详见reply.js