mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 13:59:39 +08:00
✨ add plugin 渲染任意文字到图片
This commit is contained in:
parent
1bfb76a4b3
commit
5837a765f1
@ -119,6 +119,8 @@ print("run[CQ:image,file="+j["img"]+"]")
|
|||||||
```
|
```
|
||||||

|

|
||||||
|
|
||||||
|
- **渲染任意文字到图片** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/font"`
|
||||||
|
- [x] (用[终末体|终末变体|紫罗兰体|樱酥体|Consolas体|苹方体])渲染文字xxx
|
||||||
- **聊天** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/chat"`
|
- **聊天** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/chat"`
|
||||||
- [x] [BOT名字]
|
- [x] [BOT名字]
|
||||||
- [x] [戳一戳BOT]
|
- [x] [戳一戳BOT]
|
||||||
|
|||||||
2
data
2
data
@ -1 +1 @@
|
|||||||
Subproject commit c6f5b6ed318cc0cb8e729812e9dc58275f8438a6
|
Subproject commit d6efc79f18395853ea23bf4f98f848f5dda3ce55
|
||||||
2
go.mod
2
go.mod
@ -5,7 +5,7 @@ go 1.18
|
|||||||
require (
|
require (
|
||||||
github.com/FloatTech/AnimeAPI v1.3.2-0.20220326161751-d0d2797b91da
|
github.com/FloatTech/AnimeAPI v1.3.2-0.20220326161751-d0d2797b91da
|
||||||
github.com/FloatTech/sqlite v0.2.1
|
github.com/FloatTech/sqlite v0.2.1
|
||||||
github.com/FloatTech/zbputils v1.3.2-0.20220326161600-f9554b2fb9a4
|
github.com/FloatTech/zbputils v1.3.2-0.20220327052638-95033087f201
|
||||||
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
|
||||||
|
|||||||
4
go.sum
4
go.sum
@ -2,8 +2,8 @@ github.com/FloatTech/AnimeAPI v1.3.2-0.20220326161751-d0d2797b91da h1:KbJujP8k2/
|
|||||||
github.com/FloatTech/AnimeAPI v1.3.2-0.20220326161751-d0d2797b91da/go.mod h1:aC3EOKpb0R0VOdW9QIQCfqN6ZFymOfvCgzVY1/Fz3Og=
|
github.com/FloatTech/AnimeAPI v1.3.2-0.20220326161751-d0d2797b91da/go.mod h1:aC3EOKpb0R0VOdW9QIQCfqN6ZFymOfvCgzVY1/Fz3Og=
|
||||||
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.20220326161600-f9554b2fb9a4 h1:+OnHN8QcMqwEx37a3TMBw7CT5OTyFs8qqa4Hub+Igbk=
|
github.com/FloatTech/zbputils v1.3.2-0.20220327052638-95033087f201 h1:7x73xvsTmz7HWL4CjmX0jmfp2XAr2Hvpt2ay+DPOo6c=
|
||||||
github.com/FloatTech/zbputils v1.3.2-0.20220326161600-f9554b2fb9a4/go.mod h1:qZlHzG1s1giQrXaosjOAA2utGNaPZjwJsVZfBog2bhg=
|
github.com/FloatTech/zbputils v1.3.2-0.20220327052638-95033087f201/go.mod h1:qZlHzG1s1giQrXaosjOAA2utGNaPZjwJsVZfBog2bhg=
|
||||||
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=
|
||||||
|
|||||||
1
main.go
1
main.go
@ -73,6 +73,7 @@ import (
|
|||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/drift_bottle" // 漂流瓶
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/drift_bottle" // 漂流瓶
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/emojimix" // 合成emoji
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/emojimix" // 合成emoji
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/epidemic" // 城市疫情查询
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/epidemic" // 城市疫情查询
|
||||||
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/font" // 渲染任意文字到图片
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/fortune" // 运势
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/fortune" // 运势
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/funny" // 笑话
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/funny" // 笑话
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/genshin" // 原神抽卡
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/genshin" // 原神抽卡
|
||||||
|
|||||||
43
plugin/font/main.go
Normal file
43
plugin/font/main.go
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// Package font 渲染任意文字到图片
|
||||||
|
package font
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/FloatTech/zbputils/binary"
|
||||||
|
"github.com/FloatTech/zbputils/control"
|
||||||
|
"github.com/FloatTech/zbputils/control/order"
|
||||||
|
"github.com/FloatTech/zbputils/ctxext"
|
||||||
|
"github.com/FloatTech/zbputils/img/text"
|
||||||
|
zero "github.com/wdvxdr1123/ZeroBot"
|
||||||
|
"github.com/wdvxdr1123/ZeroBot/message"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
control.Register("font", order.AcquirePrio(), &control.Options{
|
||||||
|
DisableOnDefault: false,
|
||||||
|
Help: "渲染任意文字到图片\n- (用[终末体|终末变体|紫罗兰体|樱酥体|Consolas体|苹方体])渲染文字xxx",
|
||||||
|
}).OnRegex(`^(用.+)?渲染文字([\s\S]+)$`).SetBlock(true).Limit(ctxext.LimitByUser).Handle(func(ctx *zero.Ctx) {
|
||||||
|
fnt := ctx.State["regex_matched"].([]string)[1]
|
||||||
|
txt := ctx.State["regex_matched"].([]string)[2]
|
||||||
|
switch fnt {
|
||||||
|
case "用终末体":
|
||||||
|
fnt = text.SyumatuFontFile
|
||||||
|
case "用终末变体":
|
||||||
|
fnt = text.NisiFontFile
|
||||||
|
case "用紫罗兰体":
|
||||||
|
fnt = text.VioletEvergardenFontFile
|
||||||
|
case "用樱酥体":
|
||||||
|
fnt = text.SakuraFontFile
|
||||||
|
case "用Consolas体":
|
||||||
|
fnt = text.ConsolasFontFile
|
||||||
|
case "用苹方体":
|
||||||
|
default:
|
||||||
|
fnt = text.FontFile
|
||||||
|
}
|
||||||
|
b, err := text.RenderToBase64(txt, fnt, 400, 20)
|
||||||
|
if err != nil {
|
||||||
|
ctx.SendChain(message.Text("ERROR:", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ctx.SendChain(message.Image("base64://" + binary.BytesToString(b)))
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user