module.exports = {
plugins: {
assets: {
type: 'local',
// 本地存储资源文件的绝对路径
root: '',
// 静态图片暴露在服务器的路径,默认为 '/assets'
path: '',
// Koishi 暴露在公网的地址,默认为 appOptions.selfUrl
selfUrl: '',
// 防止恶意上传的密钥(配合下一节使用)
secret: '',
},
},
}
资源转存 (Assets)
在一些情况下,我们需要非即时地处理含有资源消息段的消息,例如使用 teach 添加问答或使用 github 快速回复等等。
虽然可以直接将这些消息段发送出去,但是部分平台提供的资源链接并不是永久生效的,在一段时间后相应的内容将失效。在这种情况下,我们需要找出某种可行的方式,将资源文件转存起来,并生成永久链接用于后续处理。
使用本地目录存储
koishi.config.js
使用远程服务器存储
如果你同时在多台机器上运行了 Koishi(比如一个用于开发,另一个用于生产),同时你又希望把两边的资源文件存放在一起,这个插件同样可以做到!你只需要首先生产环境配置本地存储,同时在开发环境编写下面的配置,即可实现所有的资源文件都统一存放在生产环境的本地目录。
koishi.config.js
module.exports = {
plugins: {
assets: {
type: 'remote',
// 服务器地址
server: '',
// 服务器设置的密钥
secret: '',
},
},
}
使用 SM.MS 存储
sm.msopen in new window 是一个免费图床服务,可以用来存储 Koishi 接收到的静态资源文件。
koishi.config.js
module.exports = {
plugins: {
assets: {
type: 'smms',
// sm.ms 的访问令牌
token: '',
},
},
}