ZeroBot-Plugin/randimg/setu_geter.go
2021-06-19 15:46:48 +08:00

76 lines
2.1 KiB
Go

package randimg
import (
"fmt"
"strings"
"github.com/Yiwen-Chan/ZeroBot-Plugin/api/classify"
"github.com/Yiwen-Chan/ZeroBot-Plugin/api/context"
"github.com/Yiwen-Chan/ZeroBot-Plugin/api/msgext"
zero "github.com/wdvxdr1123/ZeroBot"
)
var (
RANDOM_API_URL = "https://api.pixivweb.com/anime18r.php?return=img"
BLOCK_REQUEST = false
)
func init() { // 插件主体
zero.OnRegex(`^设置随机图片网址(.*)$`, zero.SuperUserPermission).SetBlock(true).SetPriority(20).
Handle(func(ctx *zero.Ctx) {
url := ctx.State["regex_matched"].([]string)[1]
if !strings.HasPrefix(url, "http") {
ctx.Send("URL非法!")
} else {
RANDOM_API_URL = url
}
return
})
// 有保护的随机图片
zero.OnFullMatch("随机图片").SetBlock(true).SetPriority(24).
Handle(func(ctx *zero.Ctx) {
if ctx.Event.GroupID > 0 {
classify.Classify(ctx, RANDOM_API_URL, false)
}
return
})
// 直接随机图片,危险,仅管理员可用
zero.OnFullMatch("直接随机", zero.AdminPermission).SetBlock(true).SetPriority(24).
Handle(func(ctx *zero.Ctx) {
if ctx.Event.GroupID > 0 {
if BLOCK_REQUEST {
ctx.Send("请稍后再试哦")
} else {
BLOCK_REQUEST = true
last_message_id := ctx.Send(msgext.ImageNoCache(RANDOM_API_URL))
last_group_id := ctx.Event.GroupID
classify.MsgofGrp[last_group_id] = last_message_id
BLOCK_REQUEST = false
}
}
return
})
// 撤回最后的随机图片
zero.OnFullMatch("不许好").SetBlock(true).SetPriority(24).
Handle(func(ctx *zero.Ctx) {
classify.Vote(ctx, 5)
})
// 撤回最后的随机图片
zero.OnFullMatch("太涩了").SetBlock(true).SetPriority(24).
Handle(func(ctx *zero.Ctx) {
classify.Vote(ctx, 6)
})
// 上传一张图进行评价
zero.OnFullMatch("评价图片", context.MustHasPicture()).SetBlock(true).SetPriority(24).
Handle(func(ctx *zero.Ctx) {
if ctx.Event.GroupID > 0 {
ctx.Send("少女祈祷中......")
for _, pic := range ctx.State["image_url"].([]string) {
fmt.Println(pic)
classify.Classify(ctx, pic, true)
}
}
return
})
}