🎨 优化代码结构

This commit is contained in:
源文雨 2022-03-14 12:46:54 +08:00
parent b85408e3e5
commit be7e8134f9
16 changed files with 31 additions and 38 deletions

6
go.mod
View File

@ -3,9 +3,9 @@ module github.com/FloatTech/ZeroBot-Plugin
go 1.17 go 1.17
require ( require (
github.com/FloatTech/AnimeAPI v1.3.2-0.20220313144047-cb492a3f103e github.com/FloatTech/AnimeAPI v1.3.2-0.20220314044324-0b70ea7aef90
github.com/FloatTech/sqlite v0.2.1 github.com/FloatTech/sqlite v0.2.1
github.com/FloatTech/zbputils v1.3.2-0.20220313143945-00fa77c4083a github.com/FloatTech/zbputils v1.3.2-0.20220314044107-57422e361dfb
github.com/antchfx/htmlquery v1.2.4 github.com/antchfx/htmlquery v1.2.4
github.com/corona10/goimagehash v1.0.3 github.com/corona10/goimagehash v1.0.3
github.com/fogleman/gg v1.3.0 github.com/fogleman/gg v1.3.0
@ -21,7 +21,7 @@ require (
github.com/shirou/gopsutil/v3 v3.22.2 github.com/shirou/gopsutil/v3 v3.22.2
github.com/sirupsen/logrus v1.8.1 github.com/sirupsen/logrus v1.8.1
github.com/tidwall/gjson v1.14.0 github.com/tidwall/gjson v1.14.0
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220307142419-a1b34e6da007 github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220314043738-2ff63b4ac217
golang.org/x/image v0.0.0-20220302094943-723b81ca9867 golang.org/x/image v0.0.0-20220302094943-723b81ca9867
) )

12
go.sum
View File

@ -1,10 +1,10 @@
github.com/FloatTech/AnimeAPI v1.3.2-0.20220313144047-cb492a3f103e h1:TNGosjKEznSQJoAh8pSJnJFLG2sFrbrdDDAzSl9lkLQ= github.com/FloatTech/AnimeAPI v1.3.2-0.20220314044324-0b70ea7aef90 h1:v6BFu/iLUpFpA07WTr/BboMRL+2vHCsvoueVSlBBQh0=
github.com/FloatTech/AnimeAPI v1.3.2-0.20220313144047-cb492a3f103e/go.mod h1:aEV1ygnlhxBvQexRjP74meETiUI0yr3u6jbLOJQnUMU= github.com/FloatTech/AnimeAPI v1.3.2-0.20220314044324-0b70ea7aef90/go.mod h1:0WqR4DhCJcPsfciq8AUi1Fvop3ZPrkAdWjQ2PosoXSQ=
github.com/FloatTech/bot-manager v1.0.0/go.mod h1:8YYRJ16oroGHQGD2En0oVnmcKJkxR9O/jd5BPSfWfOQ= github.com/FloatTech/bot-manager v1.0.0/go.mod h1:8YYRJ16oroGHQGD2En0oVnmcKJkxR9O/jd5BPSfWfOQ=
github.com/FloatTech/sqlite v0.2.1 h1:9t6Me48XJJCIoPy4nLRvcdhcVKfT0c2lilp7SEKROG8= github.com/FloatTech/sqlite v0.2.1 h1:9t6Me48XJJCIoPy4nLRvcdhcVKfT0c2lilp7SEKROG8=
github.com/FloatTech/sqlite v0.2.1/go.mod h1:6NfHRzqOo9RWeMJEoAQVuo51Omd5LFNxCNQhMF02/9U= github.com/FloatTech/sqlite v0.2.1/go.mod h1:6NfHRzqOo9RWeMJEoAQVuo51Omd5LFNxCNQhMF02/9U=
github.com/FloatTech/zbputils v1.3.2-0.20220313143945-00fa77c4083a h1:AdavURBsfeGujSSsPzphy4hj1W3TknP4R74pTlSrcVA= github.com/FloatTech/zbputils v1.3.2-0.20220314044107-57422e361dfb h1:Qphwi8Hy1MuIck1MLsfxagZjYN5xBgzoBJPNbTnFsRQ=
github.com/FloatTech/zbputils v1.3.2-0.20220313143945-00fa77c4083a/go.mod h1:ByNutpHjwyrhaxo54dRjJDEppko0Fcot2iOv7WrIDUg= github.com/FloatTech/zbputils v1.3.2-0.20220314044107-57422e361dfb/go.mod h1:6fE3GcvkoqTE+YBaL+WK3ZZEfosXQJPgP/emk2q7O+I=
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0= github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0=
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc/go.mod h1:OMmITAib6POA37xCichWM0aRnoVpSMZO1rB/G01wrr0= github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc/go.mod h1:OMmITAib6POA37xCichWM0aRnoVpSMZO1rB/G01wrr0=
@ -160,8 +160,8 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM
github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY=
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220307142419-a1b34e6da007 h1:yHCJCj8u3Y0JDgTlrUqPHxIO6KU0WK9+voECZ2im5lo= github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220314043738-2ff63b4ac217 h1:mJPi1JVivQ3F9fDZUiGE8pW9ShNct01C8yqBPcbcepI=
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220307142419-a1b34e6da007/go.mod h1:NwXIp7PgjV+kUALMXJ4v4/3QcsRSOodtjhLekuPXFog= github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220314043738-2ff63b4ac217/go.mod h1:NwXIp7PgjV+kUALMXJ4v4/3QcsRSOodtjhLekuPXFog=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=

View File

@ -65,7 +65,7 @@ func init() { // 插件主体
} }
}) })
// 直接随机图片无r18保护后果自负。如果出r18图可尽快通过发送"太涩了"撤回 // 直接随机图片无r18保护后果自负。如果出r18图可尽快通过发送"太涩了"撤回
engine.OnFullMatch("直接随机", ctxext.UserOrGrpAdmin).SetBlock(true). engine.OnFullMatch("直接随机", zero.UserOrGrpAdmin).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
if block { if block {
ctx.SendChain(message.Text("请稍后再试哦")) ctx.SendChain(message.Text("请稍后再试哦"))
@ -97,7 +97,7 @@ func init() { // 插件主体
} }
}) })
// 上传一张图进行评价 // 上传一张图进行评价
engine.OnKeywordGroup([]string{"评价图片"}, zero.OnlyGroup, ctxext.MustProvidePicture).SetBlock(true). engine.OnKeywordGroup([]string{"评价图片"}, zero.OnlyGroup, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
ctx.SendChain(message.Text("少女祈祷中...")) ctx.SendChain(message.Text("少女祈祷中..."))
url := ctx.State["image_url"].([]string)[0] url := ctx.State["image_url"].([]string)[0]

View File

@ -18,7 +18,6 @@ import (
"github.com/FloatTech/zbputils/binary" "github.com/FloatTech/zbputils/binary"
"github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/control/order"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/img/text" "github.com/FloatTech/zbputils/img/text"
"github.com/FloatTech/zbputils/web" "github.com/FloatTech/zbputils/web"
) )
@ -79,7 +78,7 @@ func init() {
log.Println("[bilibilipush]加载bilibilipush数据库") log.Println("[bilibilipush]加载bilibilipush数据库")
}() }()
en.OnRegex(`^添加订阅\s?(\d+)$`, ctxext.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) { en.OnRegex(`^添加订阅\s?(\d+)$`, zero.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) {
buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64) buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64)
var name string var name string
var ok bool var ok bool
@ -105,7 +104,7 @@ func init() {
ctx.SendChain(message.Text("已添加" + name + "的订阅")) ctx.SendChain(message.Text("已添加" + name + "的订阅"))
} }
}) })
en.OnRegex(`^取消订阅\s?(\d+)$`, ctxext.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) { en.OnRegex(`^取消订阅\s?(\d+)$`, zero.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) {
buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64) buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64)
var name string var name string
var ok bool var ok bool
@ -131,7 +130,7 @@ func init() {
ctx.SendChain(message.Text("已取消" + name + "的订阅")) ctx.SendChain(message.Text("已取消" + name + "的订阅"))
} }
}) })
en.OnRegex(`^取消动态订阅\s?(\d+)$`, ctxext.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) { en.OnRegex(`^取消动态订阅\s?(\d+)$`, zero.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) {
buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64) buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64)
var name string var name string
var ok bool var ok bool
@ -157,7 +156,7 @@ func init() {
ctx.SendChain(message.Text("已取消" + name + "的动态订阅")) ctx.SendChain(message.Text("已取消" + name + "的动态订阅"))
} }
}) })
en.OnRegex(`^取消直播订阅\s?(\d+)$`, ctxext.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) { en.OnRegex(`^取消直播订阅\s?(\d+)$`, zero.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) {
buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64) buid, _ := strconv.ParseInt(ctx.State["regex_matched"].([]string)[1], 10, 64)
var name string var name string
var ok bool var ok bool
@ -183,7 +182,7 @@ func init() {
ctx.SendChain(message.Text("已取消" + name + "的直播订阅")) ctx.SendChain(message.Text("已取消" + name + "的直播订阅"))
} }
}) })
en.OnFullMatch("推送列表", ctxext.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) { en.OnFullMatch("推送列表", zero.UserOrGrpAdmin).SetBlock(true).Handle(func(ctx *zero.Ctx) {
gid := ctx.Event.GroupID gid := ctx.Event.GroupID
if gid == 0 { if gid == 0 {
gid = -ctx.Event.UserID gid = -ctx.Event.UserID

View File

@ -9,7 +9,6 @@ import (
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
control "github.com/FloatTech/zbputils/control" control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/file" "github.com/FloatTech/zbputils/file"
"github.com/FloatTech/zbputils/math" "github.com/FloatTech/zbputils/math"
@ -41,8 +40,8 @@ func init() {
engine.OnRegex("^组cp.*?(\\d+).*?(\\d+)", zero.OnlyGroup).SetBlock(true).Handle(func(ctx *zero.Ctx) { engine.OnRegex("^组cp.*?(\\d+).*?(\\d+)", zero.OnlyGroup).SetBlock(true).Handle(func(ctx *zero.Ctx) {
cs := getRandomCpStory() cs := getRandomCpStory()
gong := ctxext.CardOrNickName(ctx, math.Str2Int64(ctx.State["regex_matched"].([]string)[1])) gong := ctx.CardOrNickName(math.Str2Int64(ctx.State["regex_matched"].([]string)[1]))
shou := ctxext.CardOrNickName(ctx, math.Str2Int64(ctx.State["regex_matched"].([]string)[2])) shou := ctx.CardOrNickName(math.Str2Int64(ctx.State["regex_matched"].([]string)[2]))
text := strings.ReplaceAll(cs.Story, "<攻>", gong) text := strings.ReplaceAll(cs.Story, "<攻>", gong)
text = strings.ReplaceAll(text, "<受>", shou) text = strings.ReplaceAll(text, "<受>", shou)
text = strings.ReplaceAll(text, cs.Gong, gong) text = strings.ReplaceAll(text, cs.Gong, gong)

View File

@ -8,7 +8,6 @@ import (
"github.com/FloatTech/AnimeAPI/danbooru" "github.com/FloatTech/AnimeAPI/danbooru"
"github.com/FloatTech/AnimeAPI/saucenao" "github.com/FloatTech/AnimeAPI/saucenao"
"github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/file" "github.com/FloatTech/zbputils/file"
"github.com/FloatTech/zbputils/img/writer" "github.com/FloatTech/zbputils/img/writer"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
@ -29,7 +28,7 @@ func init() { // 插件主体
cachefolder := engine.DataFolder() cachefolder := engine.DataFolder()
// 上传一张图进行评价 // 上传一张图进行评价
engine.OnKeywordGroup([]string{"鉴赏图片"}, zero.OnlyGroup, ctxext.MustProvidePicture).SetBlock(true). engine.OnKeywordGroup([]string{"鉴赏图片"}, zero.OnlyGroup, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
ctx.SendChain(message.Text("少女祈祷中...")) ctx.SendChain(message.Text("少女祈祷中..."))
for _, url := range ctx.State["image_url"].([]string) { for _, url := range ctx.State["image_url"].([]string) {

View File

@ -8,7 +8,6 @@ import (
"github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/control/order"
"github.com/FloatTech/zbputils/ctxext"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
@ -51,7 +50,7 @@ func init() {
err = newBottle( err = newBottle(
ctx.Event.UserID, ctx.Event.UserID,
grp, grp,
ctxext.CardOrNickName(ctx, ctx.Event.UserID), ctx.CardOrNickName(ctx.Event.UserID),
msg, msg,
).throw(sea, channel) ).throw(sea, channel)
if err != nil { if err != nil {

View File

@ -48,7 +48,7 @@ func init() {
en.OnPrefix("讲个笑话").SetBlock(true).Limit(ctxext.LimitByUser).Handle(func(ctx *zero.Ctx) { en.OnPrefix("讲个笑话").SetBlock(true).Limit(ctxext.LimitByUser).Handle(func(ctx *zero.Ctx) {
// 获取名字 // 获取名字
name := ctxext.NickName(ctx) name := ctx.NickName()
var j joke var j joke
err := db.Pick("jokes", &j) err := db.Pick("jokes", &j)
if err != nil { if err != nil {

View File

@ -431,7 +431,7 @@ func init() { // 插件主体
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
if ctx.Event.NoticeType == "group_decrease" { if ctx.Event.NoticeType == "group_decrease" {
userid := ctx.Event.UserID userid := ctx.Event.UserID
ctx.SendChain(message.Text(ctxext.CardOrNickName(ctx, userid), "(", userid, ")", "离开了我们...")) ctx.SendChain(message.Text(ctx.CardOrNickName(userid), "(", userid, ")", "离开了我们..."))
} }
}) })
// 设置欢迎语 // 设置欢迎语

View File

@ -19,7 +19,6 @@ import (
"github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/control/order"
control "github.com/FloatTech/zbputils/control" control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/file" "github.com/FloatTech/zbputils/file"
) )
@ -47,7 +46,7 @@ func init() {
ctx.SendChain(message.Text("大家的wife都是", wn, "\n"), message.Image(baseuri+"/"+grpf+"/"+wn), message.Text("\n哦~")) ctx.SendChain(message.Text("大家的wife都是", wn, "\n"), message.Image(baseuri+"/"+grpf+"/"+wn), message.Text("\n哦~"))
default: default:
// 获取名字 // 获取名字
name := ctxext.NickName(ctx) name := ctx.NickName()
now := time.Now() now := time.Now()
s := md5.Sum(helper.StringToBytes(fmt.Sprintf("%s%d%d%d", name, now.Year(), now.Month(), now.Day()))) s := md5.Sum(helper.StringToBytes(fmt.Sprintf("%s%d%d%d", name, now.Year(), now.Month(), now.Day())))
r := rand.New(rand.NewSource(int64(binary.LittleEndian.Uint64(s[:])))) r := rand.New(rand.NewSource(int64(binary.LittleEndian.Uint64(s[:]))))
@ -57,7 +56,7 @@ func init() {
} }
}) })
// 上传一张图 // 上传一张图
engine.OnPrefix("添加wife", zero.OnlyGroup, chkAddWifePermission, ctxext.MustProvidePicture).SetBlock(true). engine.OnPrefix("添加wife", zero.OnlyGroup, chkAddWifePermission, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
name := "" name := ""
for _, elem := range ctx.Event.Message { for _, elem := range ctx.Event.Message {

View File

@ -18,7 +18,7 @@ func init() {
Help: "nsfw图片识别\n- nsfw打分[图片]", Help: "nsfw图片识别\n- nsfw打分[图片]",
}).ApplySingle(ctxext.DefaultSingle) }).ApplySingle(ctxext.DefaultSingle)
// 上传一张图进行评价 // 上传一张图进行评价
engine.OnKeywordGroup([]string{"nsfw打分"}, zero.OnlyGroup, ctxext.MustProvidePicture).SetBlock(true). engine.OnKeywordGroup([]string{"nsfw打分"}, zero.OnlyGroup, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
url := ctx.State["image_url"].([]string) url := ctx.State["image_url"].([]string)
if len(url) > 0 { if len(url) > 0 {
@ -35,7 +35,7 @@ func init() {
DisableOnDefault: true, DisableOnDefault: true,
Help: "nsfw图片自动识别\n- 当图片属于非 neutral 类别时自动发送评价", Help: "nsfw图片自动识别\n- 当图片属于非 neutral 类别时自动发送评价",
}) })
en.OnMessage(ctxext.IsPicExists).SetBlock(false). en.OnMessage(zero.IsPicExists).SetBlock(false).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
url := ctx.State["image_url"].([]string) url := ctx.State["image_url"].([]string)
if len(url) > 0 { if len(url) > 0 {

View File

@ -84,7 +84,7 @@ func init() { // 插件主体
} }
}) })
// 以图搜图 // 以图搜图
engine.OnKeywordGroup([]string{"以图搜图", "搜索图片", "以图识图"}, zero.OnlyGroup, ctxext.MustProvidePicture).SetBlock(true). engine.OnKeywordGroup([]string{"以图搜图", "搜索图片", "以图识图"}, zero.OnlyGroup, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
// 开始搜索图片 // 开始搜索图片
ctx.SendChain(message.Text("少女祈祷中......")) ctx.SendChain(message.Text("少女祈祷中......"))

View File

@ -39,7 +39,7 @@ func init() {
}).ApplySingle(ctxext.DefaultSingle) }).ApplySingle(ctxext.DefaultSingle)
cachedir := engine.DataFolder() cachedir := engine.DataFolder()
// 上传一张图进行评价 // 上传一张图进行评价
engine.OnKeywordGroup([]string{"放大图片"}, zero.OnlyGroup, ctxext.MustProvidePicture, getPara).SetBlock(true). engine.OnKeywordGroup([]string{"放大图片"}, zero.OnlyGroup, zero.MustProvidePicture, getPara).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
url := ctx.State["image_url"].([]string) url := ctx.State["image_url"].([]string)
if len(url) > 0 { if len(url) > 0 {

View File

@ -14,7 +14,6 @@ import (
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
control "github.com/FloatTech/zbputils/control" control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/file" "github.com/FloatTech/zbputils/file"
"github.com/FloatTech/zbputils/img" "github.com/FloatTech/zbputils/img"
"github.com/FloatTech/zbputils/img/text" "github.com/FloatTech/zbputils/img/text"
@ -107,7 +106,7 @@ func init() {
canvas.SetRGB(0, 0, 0) canvas.SetRGB(0, 0, 0)
canvas.DrawString(hourWord, float64(back.Bounds().Size().X)*0.1, float64(back.Bounds().Size().Y)*1.2) canvas.DrawString(hourWord, float64(back.Bounds().Size().X)*0.1, float64(back.Bounds().Size().Y)*1.2)
canvas.DrawString(monthWord, float64(back.Bounds().Size().X)*0.6, float64(back.Bounds().Size().Y)*1.2) canvas.DrawString(monthWord, float64(back.Bounds().Size().X)*0.6, float64(back.Bounds().Size().Y)*1.2)
nickName := ctxext.CardOrNickName(ctx, uid) nickName := ctx.CardOrNickName(uid)
if err = canvas.LoadFontFace(text.FontFile, float64(back.Bounds().Size().X)*0.04); err != nil { if err = canvas.LoadFontFace(text.FontFile, float64(back.Bounds().Size().X)*0.04); err != nil {
ctx.SendChain(message.Text("ERROR:", err)) ctx.SendChain(message.Text("ERROR:", err))
return return

View File

@ -33,7 +33,7 @@ func init() {
// shindanmaker 处理函数 // shindanmaker 处理函数
func handle(ctx *zero.Ctx) { func handle(ctx *zero.Ctx) {
// 获取名字 // 获取名字
name := ctxext.NickName(ctx) name := ctx.NickName()
// 调用接口 // 调用接口
txt, err := shindanmaker.Shindanmaker(ctx.State["id"].(int64), name) txt, err := shindanmaker.Shindanmaker(ctx.State["id"].(int64), name)
if err != nil { if err != nil {

View File

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
control "github.com/FloatTech/zbputils/control" control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
trmoe "github.com/fumiama/gotracemoe" trmoe "github.com/fumiama/gotracemoe"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
@ -23,7 +22,7 @@ func init() { // 插件主体
Help: "tracemoe\n- 搜番 | 搜索番剧[图片]", Help: "tracemoe\n- 搜番 | 搜索番剧[图片]",
}) })
// 以图搜图 // 以图搜图
engine.OnKeywordGroup([]string{"搜番", "搜索番剧"}, ctxext.MustProvidePicture).SetBlock(true). engine.OnKeywordGroup([]string{"搜番", "搜索番剧"}, zero.MustProvidePicture).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
// 开始搜索图片 // 开始搜索图片
ctx.SendChain(message.Text("少女祈祷中......")) ctx.SendChain(message.Text("少女祈祷中......"))