🎨 某些发图应用合并转发

This commit is contained in:
fumiama 2022-03-01 19:47:25 +08:00
parent 27e69ef022
commit f5936d9cb7
6 changed files with 36 additions and 15 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.1-0.20220301092207-292c2a0d9971 github.com/FloatTech/AnimeAPI v1.3.1-0.20220301113905-02d4dd59812a
github.com/FloatTech/sqlite v0.2.0 github.com/FloatTech/sqlite v0.2.0
github.com/FloatTech/zbputils v1.3.1-0.20220301091616-3ace908b3d25 github.com/FloatTech/zbputils v1.3.1-0.20220301113826-6b9656b3fd31
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.21.12 github.com/shirou/gopsutil/v3 v3.21.12
github.com/sirupsen/logrus v1.8.1 github.com/sirupsen/logrus v1.8.1
github.com/tidwall/gjson v1.13.0 github.com/tidwall/gjson v1.13.0
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220227065946-629493e7d2bf github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220301103916-37a3108954a3
golang.org/x/image v0.0.0-20211028202545-6944b10bf410 golang.org/x/image v0.0.0-20211028202545-6944b10bf410
) )

12
go.sum
View File

@ -1,10 +1,10 @@
github.com/FloatTech/AnimeAPI v1.3.1-0.20220301092207-292c2a0d9971 h1:IVYw7zzffBYPSLGcSf7kv0P4OOfFRYrl6+Fyiv3ZQRY= github.com/FloatTech/AnimeAPI v1.3.1-0.20220301113905-02d4dd59812a h1:jenYdKRVcTZ7yG42ecJNRWqNQhEy9++iRmmMOLrlnRo=
github.com/FloatTech/AnimeAPI v1.3.1-0.20220301092207-292c2a0d9971/go.mod h1:yAmOcbDWxEZYQyLY919C5A/YJ4KX+aaQkpDaVQDVtlQ= github.com/FloatTech/AnimeAPI v1.3.1-0.20220301113905-02d4dd59812a/go.mod h1:5IMAjYuV6td2s4Oui1HGJWMVy1b7QLxuO0GRZ8Cr9Zo=
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.0 h1:x3uls/hExXH1+bbaNLkvilce6ATtWlDx4IqoxBW/bv8= github.com/FloatTech/sqlite v0.2.0 h1:x3uls/hExXH1+bbaNLkvilce6ATtWlDx4IqoxBW/bv8=
github.com/FloatTech/sqlite v0.2.0/go.mod h1:xIDWIvpOFl8AXmZm0FC8t3PZjiR6ZutytCpBv2EWCns= github.com/FloatTech/sqlite v0.2.0/go.mod h1:xIDWIvpOFl8AXmZm0FC8t3PZjiR6ZutytCpBv2EWCns=
github.com/FloatTech/zbputils v1.3.1-0.20220301091616-3ace908b3d25 h1:n88oTj/5QpJuA0NkUCbYvYlka7vwtke+FvaU3VrEtjg= github.com/FloatTech/zbputils v1.3.1-0.20220301113826-6b9656b3fd31 h1:/7LrjHqRoxpur5zmLS5QZGj71ZGV2zQL5CN3fXJ6yzg=
github.com/FloatTech/zbputils v1.3.1-0.20220301091616-3ace908b3d25/go.mod h1:NXv73hWyC4Q4S4wg01DEwLzznSHSmde0o03PnsS1DtY= github.com/FloatTech/zbputils v1.3.1-0.20220301113826-6b9656b3fd31/go.mod h1:em9/r7X8/yLPSnkxM/Y3Ygg90+h/DMIPgLPQhd5ani8=
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=
@ -156,8 +156,8 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM
github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0= github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0=
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.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw= github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220227065946-629493e7d2bf h1:oUAVOzsRw5vrrZgBUEgG1BJ3hvjCUXykiVFqj0nfQ6o= github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220301103916-37a3108954a3 h1:40usIs1ErLWl9NQTohon9gKh6UBWx4XBfUFUusnkTjw=
github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220227065946-629493e7d2bf/go.mod h1:NwXIp7PgjV+kUALMXJ4v4/3QcsRSOodtjhLekuPXFog= github.com/wdvxdr1123/ZeroBot v1.4.2-0.20220301103916-37a3108954a3/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

@ -77,7 +77,13 @@ func init() { // 插件主体
} else { } else {
url = randapi url = randapi
} }
setLastMsg(ctx.Event.GroupID, ctx.SendChain(message.Image(url).Add("cache", "0"))) setLastMsg(ctx.Event.GroupID, message.NewMessageID(
ctx.SendGroupForwardMessage(ctx.Event.GroupID,
message.Message{
ctxext.FakeSenderForwardNode(ctx,
message.Image(url).Add("cache", "0"),
),
}).Get("message_id").String()))
block = false block = false
} }
}) })
@ -149,9 +155,19 @@ func reply(ctx *zero.Ctx, class int, dhash string, comment string) error {
} }
} else { } else {
send = func(msg interface{}) int64 { send = func(msg interface{}) int64 {
return ctx.Send(append(msg.(message.Message), message.Text(comment))).ID() return int64(ctx.SendGroupForwardMessage(ctx.Event.GroupID, message.Message{
ctxext.FakeSenderForwardNode(ctx, append(
msg.(message.Message),
message.Text(comment))...,
),
}).Get("message_id").Int())
} }
} }
return pool.SendRemoteImageFromPool(b14, u, send, ctxext.GetMessage(ctx)) return pool.SendRemoteImageFromPool(b14, u, send, func(i int64) zero.Message {
if class > 5 {
return ctxext.GetMessage(ctx)(i)
}
return ctxext.GetFirstMessageInForward(ctx)(i)
})
} }

View File

@ -59,7 +59,7 @@ func init() {
err = pool.SendImageFromPool(n, f, func() error { err = pool.SendImageFromPool(n, f, func() error {
// 下载图片 // 下载图片
return illust.DownloadToCache(0) return illust.DownloadToCache(0)
}, ctxext.Send(ctx), ctxext.GetMessage(ctx)) }, ctxext.SendFakeForwardToGroup(ctx), ctxext.GetFirstMessageInForward(ctx))
if err != nil { if err != nil {
ctx.SendChain(message.Text("ERROR: ", err)) ctx.SendChain(message.Text("ERROR: ", err))
return return

View File

@ -54,6 +54,13 @@ func init() {
ctx.SendChain(message.Text("ERROR: ", err)) ctx.SendChain(message.Text("ERROR: ", err))
} else { } else {
p := "file:///" + setupath + "/" + sc.Path p := "file:///" + setupath + "/" + sc.Path
if ctx.Event.GroupID != 0 {
ctx.SendGroupForwardMessage(ctx.Event.GroupID, message.Message{
ctxext.FakeSenderForwardNode(ctx,
message.Text(imgtype, ": ", sc.Name, "\n"), message.Image(p),
)})
return
}
ctx.SendChain(message.Text(imgtype, ": ", sc.Name, "\n"), message.Image(p)) ctx.SendChain(message.Text(imgtype, ": ", sc.Name, "\n"), message.Image(p))
} }
}) })

View File

@ -2,7 +2,6 @@
package ymgal package ymgal
import ( import (
"log"
"strings" "strings"
"github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control"
@ -24,7 +23,6 @@ func init() {
defer order.DoneOnExit()() defer order.DoneOnExit()()
_, _ = file.GetLazyData(dbfile, false, false) _, _ = file.GetLazyData(dbfile, false, false)
gdb = initialize(dbfile) gdb = initialize(dbfile)
log.Println("[ymgal]加载月幕gal数据库")
}() }()
engine.OnRegex("^随机gal(CG|表情包)$").Limit(ctxext.LimitByUser).SetBlock(true). engine.OnRegex("^随机gal(CG|表情包)$").Limit(ctxext.LimitByUser).SetBlock(true).
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {