loader 和 plugin 配置文件详解
February 3, 2023 · View on GitHub
1. loader 端
loader 的配置文件位于miraicp-loader-version.jar同目录或传入的参数目录, 应遵守json格式并最少包含以下元素
{
"accounts": [{
"id": ,
"passwords": ""
}],
"cppPaths":[
{
"path":"\\cmake-build-debug\\MiraiCP.dll"
}
]
}
详细模板代码见Config.kt#L146
1.1 accounts
accounts 元素类型为列表,里面包含你想要登录的单个或多个账号, 如
{
"accounts": [{
"id": 111,
"passwords": ""
},
{
"id": 222,
"passwords": ""
}]
}
而每个账号应包含以下配置
account
最小配置:
{
"id": <qq id>,
"passwords": "<明文密码>"
}
或:
{
"id": <qq id>,
"passwords": "<32位md5 密码 大小写都可以>",
"md5": true
}
除了基本的 id 和 passwords 之外,autoLogin 配置项也需特别注意
如果 autoLogin 为 true, loader 端就会在加载时自动登录, 否则需要手动在loader端控制台输入 login <qqid> 来登录, 然后全部 login 登录的账号都需要实现在配置文件里写明
如:
{
"id":,
"passwords": "",
"autoLogin": true
}
模板代码见config.kt#L151 就会自动在loader端启动的时候登录
进阶账号配置
所有的可选账号配置:
heatBeat账号心跳策略, 可选: STAT_HB/REGISTER/NONE (默认为state_hb), 详细查看mirai文档protocol登录协议选择, 可选: pad/phone/watch/ipad (默认为phone), 详细查看mirai文档
1.2 cppPaths
cppPaths 该元素类型为列表,里面包含你全部要加载的插件(会自动在启动时加载全部)以及该插件对应的权限(权限只有0和非0两种,0表示普通权限,非0表示该插件有管理自身及其他插件的权限,包括重载、卸载插件等功能。不填该项默认为0),如:
{
"cppPaths":[
{
"path":"<dll1 路径>",
"authority":1
},
{
"path": "<dll2 路径>"
}
]
}
cppPath
最小配置:
{
"path": "<dll 路径>"
}
模板代码见Config.kt#L132
1.3 进阶配置
配置文件中还可以加入 config 配置进阶配置:
{
"config":{
"threadNum": 10
},
"accounts": [{
"id": ,
"passwords": ""
}],
"cppPaths":[
{
"path":"\\cmake-build-debug\\MiraiCP.dll"
}
]
}
可配置项:
threadNum配置kt端bot用线程池,默认为5。作用代码于Ulits.kt#L28 模板代码见Config.kt#L137
2. plugin 端
plugin 端配置文件位于 /data/miraiCP/config.json 应遵守json格式并至少拥有以下元素
{
"pluginConfig":[{
"path":"\\cmake-build-debug\\MiraiCP.dll"
}]
}
模板代码见Config#L141
pluginConfig
该元素类型为列表, 包含要加载的全部dll的路径,与loader端的配置文件相同,如
{
"pluginConfig": [
{
"path": "<dll路径1>"
},
{
"path": "<dll路径2>"
}
]
}
进阶配置
与loader端相同, 可以加入config块配置进阶选项
{
"config": {},
"pluginConfig":[{
"path":"\\cmake-build-debug\\MiraiCP.dll"
}]
}