From 4334f4dd2293fc071e88b2552eedf57a67b37ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 1 May 2024 02:49:56 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20del=20heisi=20due=20to=20=E8=B7=91?= =?UTF-8?q?=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 --- main.go | 1 - plugin/heisi/heisi.go | 119 ----------------------------------------- plugin/heisi/packer.go | 48 ----------------- plugin/heisi/slice.go | 15 ------ 5 files changed, 191 deletions(-) delete mode 100644 plugin/heisi/heisi.go delete mode 100644 plugin/heisi/packer.go delete mode 100644 plugin/heisi/slice.go diff --git a/README.md b/README.md index f2475f685f..1d38c3b889 100644 --- a/README.md +++ b/README.md @@ -761,14 +761,6 @@ print("run[CQ:image,file="+j["img"]+"]") - [x] 下载歌单[网易云歌单链接/ID]到[歌单名称] - [x] 解除绑定 [歌单名称] - -
- 黑丝 - - `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/heisi"` - - - [x] 来点黑丝/白丝/jk/巨乳/足控/网红 -
一言 diff --git a/main.go b/main.go index 2088b31fb2..a4cd2763e9 100644 --- a/main.go +++ b/main.go @@ -92,7 +92,6 @@ import ( _ "github.com/FloatTech/ZeroBot-Plugin/plugin/gif" // 制图 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/github" // 搜索GitHub仓库 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/guessmusic" // 猜歌 - _ "github.com/FloatTech/ZeroBot-Plugin/plugin/heisi" // 黑丝 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/hitokoto" // 一言 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/hs" // 炉石 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/hyaku" // 百人一首 diff --git a/plugin/heisi/heisi.go b/plugin/heisi/heisi.go deleted file mode 100644 index 3d9b5548a5..0000000000 --- a/plugin/heisi/heisi.go +++ /dev/null @@ -1,119 +0,0 @@ -// Package heisi 黑丝 -package heisi - -import ( - "errors" - "math/rand" - "os" - "strconv" - "time" - "unsafe" - - "github.com/FloatTech/AnimeAPI/setu" - fbctxext "github.com/FloatTech/floatbox/ctxext" - "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" - zero "github.com/wdvxdr1123/ZeroBot" - "github.com/wdvxdr1123/ZeroBot/message" -) - -var ( - heisiPic []item - baisiPic []item - jkPic []item - jurPic []item - zukPic []item - mcnPic []item - fileList = [...]string{"heisi.bin", "baisi.bin", "jk.bin", "jur.bin", "zuk.bin", "mcn.bin"} -) - -func init() { // 插件主体 - p, err := setu.NewPool(setu.DefaultPoolDir, - func(s string) (string, error) { - if s != "黑丝" && s != "白丝" && s != "jk" && s != "巨乳" && s != "足控" && s != "网红" { - return "", errors.New("invalid call") - } - typ := setu.DefaultPoolDir + "/" + s - if file.IsNotExist(typ) { - err := os.MkdirAll(typ, 0755) - if err != nil { - return "", err - } - } - var pic item - switch s { - case "黑丝": - pic = heisiPic[rand.Intn(len(heisiPic))] - case "白丝": - pic = baisiPic[rand.Intn(len(baisiPic))] - case "jk": - pic = jkPic[rand.Intn(len(jkPic))] - case "巨乳": - pic = jurPic[rand.Intn(len(jurPic))] - case "足控": - pic = zukPic[rand.Intn(len(zukPic))] - case "网红": - pic = mcnPic[rand.Intn(len(mcnPic))] - } - return pic.String(), nil - }, func(s string) ([]byte, error) { - return web.RequestDataWith(web.NewTLS12Client(), s, "GET", "http://hs.heisiwu.com/", web.RandUA(), nil) - }, time.Minute) - if err != nil { - panic(err) - } - - engine := control.AutoRegister(&ctrl.Options[*zero.Ctx]{ - DisableOnDefault: false, - Brief: "黑丝", - Help: "- 来点黑丝\n- 来点白丝\n- 来点jk\n- 来点巨乳\n- 来点足控\n- 来点网红", - PublicDataFolder: "Heisi", - }) - - engine.OnFullMatchGroup([]string{"来点黑丝", "来点白丝", "来点jk", "来点巨乳", "来点足控", "来点网红"}, zero.OnlyGroup, fbctxext.DoOnceOnSuccess(func(ctx *zero.Ctx) bool { - for i, filePath := range fileList { - data, err := engine.GetLazyData(filePath, true) - if err != nil { - ctx.SendChain(message.Text("ERROR: ", err)) - return false - } - if len(data)%10 != 0 { - ctx.SendChain(message.Text("ERROR: invalid data " + strconv.Itoa(i))) - return false - } - s := (*slice)(unsafe.Pointer(&data)) - s.len /= 10 - s.cap /= 10 - switch i { - case 0: - heisiPic = *(*[]item)(unsafe.Pointer(s)) - case 1: - baisiPic = *(*[]item)(unsafe.Pointer(s)) - case 2: - jkPic = *(*[]item)(unsafe.Pointer(s)) - case 3: - jurPic = *(*[]item)(unsafe.Pointer(s)) - case 4: - zukPic = *(*[]item)(unsafe.Pointer(s)) - case 5: - mcnPic = *(*[]item)(unsafe.Pointer(s)) - } - } - return true - })).SetBlock(true). - Handle(func(ctx *zero.Ctx) { - matched := ctx.State["matched"].(string) - pic, err := p.Roll(matched[3*2:]) - if err != nil { - ctx.SendChain(message.Text("ERROR: ", err)) - return - } - m := message.Message{ctxext.FakeSenderForwardNode(ctx, message.Image("file:///"+file.BOTPATH+"/"+pic))} - if id := ctx.Send(m).ID(); id == 0 { - ctx.SendChain(message.Text("ERROR: 可能被风控或下载图片用时过长,请耐心等待")) - } - }) -} diff --git a/plugin/heisi/packer.go b/plugin/heisi/packer.go deleted file mode 100644 index f6024a4799..0000000000 --- a/plugin/heisi/packer.go +++ /dev/null @@ -1,48 +0,0 @@ -package heisi - -import ( - "encoding/binary" - "encoding/hex" - "fmt" - "math/bits" -) - -const ( - template2021 = "http://hs.heisiwu.com/wp-content/uploads/%4d/%02d/%4d%02d16%06d-611a3%8s.jpg" - templategeneral = "http://hs.heisiwu.com/wp-content/uploads/%4d/%02d/%015x" -) - -type item [10]byte - -// String item to url -func (it item) String() string { - year, month := int((it[0]>>4)&0x0f), int(it[0]&0x0f) - year += 2021 - if year == 2021 { - num := binary.BigEndian.Uint32(it[1:5]) - dstr := hex.EncodeToString(it[5:9]) - return fmt.Sprintf(template2021, year, month, year, month, num, dstr) - } - d := binary.BigEndian.Uint64(it[1:9]) - isscaled := it[9]&0x80 > 0 - num := int(it[9] & 0x7f) - trestore := fmt.Sprintf(templategeneral, year, month, d&0x0fffffff_ffffffff) - if num > 0 { - trestore += fmt.Sprintf("-%d", num) - } - if isscaled { - trestore += "-scaled" - } - d = bits.RotateLeft64(d, 4) & 0x0f - switch d { - case 0: - trestore += ".jpg" - case 1: - trestore += ".png" - case 2: - trestore += ".webp" - default: - return "invalid ext" - } - return trestore -} diff --git a/plugin/heisi/slice.go b/plugin/heisi/slice.go deleted file mode 100644 index 8aafbdfc7f..0000000000 --- a/plugin/heisi/slice.go +++ /dev/null @@ -1,15 +0,0 @@ -package heisi - -import "unsafe" - -// slice is the runtime representation of a slice. -// It cannot be used safely or portably and its representation may -// change in a later release. -// -// Unlike reflect.SliceHeader, its Data field is sufficient to guarantee the -// data it references will not be garbage collected. -type slice struct { - data unsafe.Pointer - len int - cap int -}