加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
checkMirai.go 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
lxy1226 提交于 2020-06-18 13:59 . 增加多用户 修正JRE判定
package main
import (
"gitee.com/LXY1226/logging"
jsoniter "github.com/json-iterator/go"
"io/ioutil"
"os"
"time"
)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
var verinfos []Verinfo
func updateMirai() {
logging.INFO("开始检查Mirai更新... 也可以通过创建.noupdate文件来禁用更新")
rb := downFile("mirai-repo/shadow/release.json")
if rb == nil {
logging.ERROR("无法下载Mirai版本信息")
return
}
data, _ := ioutil.ReadAll(rb)
err := json.Unmarshal(data, &verinfos)
if err != nil {
logging.ERROR("无法解析Mirai版本信息:", err.Error())
return
}
global.Add(3)
for _, info := range verinfos {
go func(info Verinfo) {
defer global.Done()
fname := info.Name + "-" + info.Version + ".jar"
if _, err := os.Stat(info.Path + fname); err == nil {
return
}
logging.INFO("正在更新", info.Name, "到", info.Version, "发布于", info.Date.String())
save(downFile("mirai-repo/shadow/"+info.Name+"/"+fname), info.Path+fname)
}(info)
}
global.Wait()
_ = ioutil.WriteFile(".lastupdate", nil, 0755)
checkWrapper()
}
type Verinfo struct {
Name string `json:"name"`
Date time.Time `json:"date"`
Version string `json:"version"`
Info string `json:"verinfos"`
Path string `json:"path"`
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化