diff --git a/README.md b/README.md index 36cdc2ea..13105f05 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,10 @@ - 嘉然 `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_diana"` - [x] @BOT 小作文 - [x] @BOT 发大病 +- AIfalse `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_AIfalse"` + - [x] 查询计算机当前活跃度 [身体检查] + - [ ] 简易语音 + - [ ] 爬图合成 [@xxx] - TODO... ### 使用方法 diff --git a/main.go b/main.go index 90fa3d88..3cdab2fe 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ import ( _ "github.com/FloatTech/ZeroBot-Plugin/plugin_shindan" // 测定 //_ "github.com/FloatTech/ZeroBot-ACGImage" //简易随机图片 + _ "github.com/FloatTech/ZeroBot-Plugin/plugin_AIfalse" // AIfalse插件 // b站相关 _ "github.com/FloatTech/ZeroBot-Plugin/plugin_bilibili" // 查询b站用户信息 diff --git a/plugin_AIfalse/AIfalse.go b/plugin_AIfalse/AIfalse.go new file mode 100644 index 00000000..14d304c3 --- /dev/null +++ b/plugin_AIfalse/AIfalse.go @@ -0,0 +1,67 @@ +package AIfalse + +import ( + "math/rand" + "time" + "github.com/shirou/gopsutil/cpu" + "github.com/shirou/gopsutil/disk" + "github.com/shirou/gopsutil/mem" + "strconv" + + zero "github.com/wdvxdr1123/ZeroBot" + "github.com/wdvxdr1123/ZeroBot/message" +) + +var ( + PRIO = -1 + RES = "file:///E:/Picture data/" + ENABLE = true +) + + +func GetCpuPercent() float64 { + percent, _:= cpu.Percent(time.Second, false) + return percent[0] +} + +func GetMemPercent() float64 { + memInfo, _ := mem.VirtualMemory() + return memInfo.UsedPercent +} + +func GetDiskPercent() float64 { + parts, _ := disk.Partitions(true) + diskInfo, _ := disk.Usage(parts[0].Mountpoint) + return diskInfo.UsedPercent +} + +func init() { // 插件主体 + zero.OnKeywordGroup([]string{"身体检查","自检","启动自检","系统状态"}, zero.AdminPermission). + Handle(func(ctx *zero.Ctx) { + ctx.SendChain(message.Text( + "人家当前CPU占用率是: ",GetCpuPercent(),"%\n", + "人家当前RAM占用率是: ",GetMemPercent(),"%\n", + "人家当前硬盘活动率是: ", GetDiskPercent(), "%\n", + ), + ) + }) +} + +func randText(text ...string) message.MessageSegment { + length := len(text) + return message.Text(text[rand.Intn(length)]) +} + +func randImage(file ...string) message.MessageSegment { + length := len(file) + return message.Image(RES + file[rand.Intn(length)]) +} + +func randRecord(file ...string) message.MessageSegment { + length := len(file) + return message.Record(RES + file[rand.Intn(length)]) +} +func strToInt(str string) int64 { + val, _ := strconv.ParseInt(str, 10, 64) + return val +}