diff --git a/README.md b/README.md
index b6a5390ab6..68efcbd6c4 100644
--- a/README.md
+++ b/README.md
@@ -1250,14 +1250,6 @@ print("run[CQ:image,file="+j["img"]+"]")
- [x] 设置 saucenao api key [apikey]
-
-
- 叔叔的AI二次元图片放大
-
- `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/scale"`
-
- - [x] 放大图片[图片]
-
签到得分
diff --git a/go.mod b/go.mod
index fb36708e80..233622e859 100644
--- a/go.mod
+++ b/go.mod
@@ -4,8 +4,8 @@ go 1.20
require (
github.com/Baidu-AIP/golang-sdk v1.1.1
- github.com/FloatTech/AnimeAPI v1.7.1-0.20240401063926-a06fe89b1362
- github.com/FloatTech/floatbox v0.0.0-20231107124407-e38535efa2a2
+ github.com/FloatTech/AnimeAPI v1.7.1-0.20240411073357-0be3d9a5706d
+ github.com/FloatTech/floatbox v0.0.0-20240304064110-78a83f1af9a6
github.com/FloatTech/gg v1.1.3-0.20230226151425-6ea91286ba08
github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef
github.com/FloatTech/rendercard v0.0.10-0.20230223064326-45d29fa4ede9
diff --git a/go.sum b/go.sum
index 90e80142fe..1351145460 100644
--- a/go.sum
+++ b/go.sum
@@ -2,10 +2,10 @@ github.com/Baidu-AIP/golang-sdk v1.1.1 h1:RQsAmgDSAkiq22I6n7XJ2t3afgzFeqjY46FGhv
github.com/Baidu-AIP/golang-sdk v1.1.1/go.mod h1:bXnGw7xPeKt8aF7UCELKrV6UZ/46spItONK1RQBQj1Y=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
-github.com/FloatTech/AnimeAPI v1.7.1-0.20240401063926-a06fe89b1362 h1:llHNgb+UIj8q/2GgR+89pnUNwKQJvKx5EwsetLhJQcE=
-github.com/FloatTech/AnimeAPI v1.7.1-0.20240401063926-a06fe89b1362/go.mod h1:7Olb5U9q1oeayRZQTNBhXQNMf8QT4T9hccsn38IEt/U=
-github.com/FloatTech/floatbox v0.0.0-20231107124407-e38535efa2a2 h1:O4kptIzgYzNwZlBARZFv8EkA40yB6M5LGxxIF7NKLR8=
-github.com/FloatTech/floatbox v0.0.0-20231107124407-e38535efa2a2/go.mod h1:TeTlp+hTxpJti4JSdmUqzxGEr4wUBOVct9YWBepilpc=
+github.com/FloatTech/AnimeAPI v1.7.1-0.20240411073357-0be3d9a5706d h1:eKJxkCzayyHPvQ7+uhF6acGBTnoq5c9K7J6sHbv6xwQ=
+github.com/FloatTech/AnimeAPI v1.7.1-0.20240411073357-0be3d9a5706d/go.mod h1:bNHsYcUd1+Y5Al3CR6tdzKxcc0XLivXjmUsL9xG6sSw=
+github.com/FloatTech/floatbox v0.0.0-20240304064110-78a83f1af9a6 h1:Vaj8ulVbN8vTD4W7aj+BYeT6x8iKFneDnkgBCezomDY=
+github.com/FloatTech/floatbox v0.0.0-20240304064110-78a83f1af9a6/go.mod h1:TeTlp+hTxpJti4JSdmUqzxGEr4wUBOVct9YWBepilpc=
github.com/FloatTech/gg v1.1.3-0.20230226151425-6ea91286ba08 h1:dPLeoiTVSBlgls+66EB/UJ2e38BaASmBN5nANaycSBU=
github.com/FloatTech/gg v1.1.3-0.20230226151425-6ea91286ba08/go.mod h1:uzPzAeT35egARdRuu+1oyjU3CmTwCceoq3Vvje7LpcI=
github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef h1:CJbK/2FRwPuZpeb6M4sWK2d7oXDnBEGhpkQuQrgc91A=
diff --git a/main.go b/main.go
index 29afe0da7c..d267d696e2 100644
--- a/main.go
+++ b/main.go
@@ -129,7 +129,6 @@ import (
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/reborn" // 投胎
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/runcode" // 在线运行代码
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/saucenao" // 以图搜图
- _ "github.com/FloatTech/ZeroBot-Plugin/plugin/scale" // 叔叔的AI二次元图片放大
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/score" // 分数
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/setutime" // 来份涩图
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/shadiao" // 沙雕app
diff --git a/plugin/scale/main.go b/plugin/scale/main.go
deleted file mode 100644
index 12fa6fe854..0000000000
--- a/plugin/scale/main.go
+++ /dev/null
@@ -1,152 +0,0 @@
-// Package scale 叔叔的AI二次元图片放大
-package scale
-
-import (
- "bytes"
- "image"
- "math"
- "os"
- "strconv"
- "time"
-
- _ "image/gif" // import gif decoding
- _ "image/jpeg" // import jpg decoding
- _ "image/png" // import png decoding
-
- _ "golang.org/x/image/webp" // import webp decoding
-
- zero "github.com/wdvxdr1123/ZeroBot"
- "github.com/wdvxdr1123/ZeroBot/message"
-
- "github.com/FloatTech/AnimeAPI/nsfw"
- "github.com/FloatTech/AnimeAPI/scale"
- "github.com/FloatTech/imgfactory"
-
- "github.com/FloatTech/floatbox/binary"
- "github.com/FloatTech/floatbox/file"
- "github.com/FloatTech/floatbox/web"
- ctrl "github.com/FloatTech/zbpctrl"
- "github.com/FloatTech/zbputils/control"
- "github.com/FloatTech/zbputils/ctxext"
-)
-
-func init() {
- engine := control.AutoRegister(&ctrl.Options[*zero.Ctx]{
- DisableOnDefault: false,
- Brief: "二次元图片放大",
- Help: "- 放大图片[图片]",
- PrivateDataFolder: "scale",
- }).ApplySingle(ctxext.DefaultSingle)
- cachedir := engine.DataFolder()
- // 上传一张图进行评价
- engine.OnKeywordGroup([]string{"放大图片"}, zero.OnlyGroup, zero.MustProvidePicture, getPara).SetBlock(true).
- Handle(func(ctx *zero.Ctx) {
- url := ctx.State["image_url"].([]string)
- if len(url) > 0 {
- datachan := make(chan []byte, 1)
- var errsub error
- go func() {
- var d []byte
- d, errsub = web.GetData(url[0])
- datachan <- d
- }()
- ctx.SendChain(message.Text("少女祈祷中..."))
-
- p, err := nsfw.Classify(url[0])
- if err != nil {
- ctx.SendChain(message.Text("ERROR: ", err))
- return
- }
- if p.Drawings < 0.1 || p.Neutral > 0.8 {
- ctx.SendChain(message.Text("请发送二次元图片!"))
- return
- }
-
- data := <-datachan
- if errsub != nil {
- ctx.SendChain(message.Text("ERROR: ", errsub))
- return
- }
- im, _, err := image.Decode(bytes.NewReader(data))
- if err != nil {
- ctx.SendChain(message.Text("ERROR: ", err))
- return
- }
- px := im.Bounds().Size().X * im.Bounds().Size().Y
- paras := ctx.State["scale_paras"].([2]int)
-
- if px > 512*512 {
- px = int(math.Pow(float64(px), 0.5) + 0.5)
- x := im.Bounds().Size().X * 512 / px
- y := im.Bounds().Size().Y * 512 / px
- ctx.SendChain(message.Text("图片", im.Bounds().Size().X, "x", im.Bounds().Size().Y, "过大,调整图片至", x, "x", y))
- im = imgfactory.Size(im, x, y).Image()
- w := binary.SelectWriter()
- defer binary.PutWriter(w)
- _, err = imgfactory.WriteTo(im, w)
- if err != nil {
- ctx.SendChain(message.Text("ERROR: ", err))
- return
- }
- data, err = scale.Post(bytes.NewReader(w.Bytes()), paras[0], paras[1], 2)
- } else {
- data, err = scale.Get(url[0], paras[0], paras[1], 2)
- }
- if err != nil {
- ctx.SendChain(message.Text("ERROR: ", err))
- return
- }
-
- n := cachedir + strconv.Itoa(int(ctx.Event.UserID))
- f, err := os.Create(n)
- if err != nil {
- ctx.SendChain(message.Text("ERROR: ", err))
- return
- }
- _, _ = f.Write(data)
- _ = f.Close()
- ctx.SendChain(message.Image("file:///" + file.BOTPATH + "/" + n))
- }
- })
-}
-
-func getPara(ctx *zero.Ctx) bool {
- next := zero.NewFutureEvent("message", 999, false, ctx.CheckSession())
- recv, cancel := next.Repeat()
- i := 0
- paras := [2]int{}
- ctx.SendChain(message.Text("请输入模型序号\n0.", scale.Models[0], "\n1.", scale.Models[1], "\n2.", scale.Models[2], "\n3.", scale.Models[3], "\n4.", scale.Models[4]))
- for {
- select {
- case <-time.After(time.Second * 120):
- cancel()
- return false
- case c := <-recv:
- msg := c.Event.Message.ExtractPlainText()
- num, err := strconv.Atoi(msg)
- if err != nil {
- ctx.SendChain(message.Text("请输入数字!"))
- continue
- }
- switch i {
- case 0:
- if num < 0 || num > 4 {
- ctx.SendChain(message.Text("模型序号非法!"))
- continue
- }
- paras[0] = num
- ctx.SendChain(message.Text("请输入放大倍数(2-4)"))
- case 1:
- if num < 2 || num > 4 {
- ctx.SendChain(message.Text("放大倍数非法!"))
- continue
- }
- cancel()
- paras[1] = num
- ctx.State["scale_paras"] = paras
- return true
- }
- i++
- }
- }
-}