Skip to content

Commit deb655d

Browse files
authored
Feature huggingface (#478)
1 parent 8d1c18c commit deb655d

File tree

9 files changed

+459
-51
lines changed

9 files changed

+459
-51
lines changed

README.md

Lines changed: 46 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ print("run[CQ:image,file="+j["img"]+"]")
368368

369369
- [x] 设置ai绘图配置 [server] [token]
370370

371+
- [x] 设置ai绘图撤回时间90s
372+
373+
- [x] 查看ai绘图配置
374+
371375
例: 设置ai绘图配置 http://91.216.169.75:5010 abc
372376

373377
参考服务器 http://91.217.139.190:5010, http://91.216.169.75:5010, http://185.80.202.180:5010
@@ -860,6 +864,14 @@ print("run[CQ:image,file="+j["img"]+"]")
860864
来份萝莉
861865
```
862866

867+
</details>
868+
<details>
869+
<summary>MagicPrompt-Stable-Diffusion吟唱提示</summary>
870+
871+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/magicprompt"`
872+
873+
- [x] 吟唱提示[xxxx]
874+
863875
</details>
864876
<details>
865877
<summary>简易midi音乐制作</summary>
@@ -1045,6 +1057,14 @@ print("run[CQ:image,file="+j["img"]+"]")
10451057
- [x] 重置花名册
10461058

10471059

1060+
</details>
1061+
<details>
1062+
<summary>Real-CUGAN清晰术</summary>
1063+
1064+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/realcugan"`
1065+
1066+
- [x] 清晰术(双重吟唱|三重吟唱|四重吟唱)(强力术式|中等术式|弱术式|不变式|原式)[图片]
1067+
10481068
</details>
10491069
<details>
10501070
<summary>投胎</summary>
@@ -1144,25 +1164,19 @@ print("run[CQ:image,file="+j["img"]+"]")
11441164

11451165
</details>
11461166
<details>
1147-
<summary>搜番</summary>
1167+
<summary>舔狗日记</summary>
11481168

1149-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/tracemoe"`
1169+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/tiangou"`
11501170

1151-
- [x] 搜番 | 搜索番剧[图片]
1171+
- [x] 舔狗日记
11521172

11531173
</details>
11541174
<details>
1155-
<summary>猜单词</summary>
1156-
1157-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wordle"`
1158-
1159-
- [x] 个人猜单词
1160-
1161-
- [x] 团队猜单词
1175+
<summary>搜番</summary>
11621176

1163-
- [x] 团队六阶猜单词
1177+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/tracemoe"`
11641178

1165-
- [x] 团队七阶猜单词
1179+
- [x] 搜番 | 搜索番剧[图片]
11661180

11671181
</details>
11681182
<details>
@@ -1172,6 +1186,14 @@ print("run[CQ:image,file="+j["img"]+"]")
11721186

11731187
- [x] >TL 你好
11741188
1189+
</details>
1190+
<details>
1191+
<summary>vits猫雷</summary>
1192+
1193+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/vitsnyaru"`
1194+
1195+
- [x] 让猫雷说[xxxx]
1196+
11751197
</details>
11761198
<details>
11771199
<summary>vtb语录</summary>
@@ -1254,19 +1276,25 @@ print("run[CQ:image,file="+j["img"]+"]")
12541276

12551277
</details>
12561278
<details>
1257-
<summary>舔狗日记</summary>
1279+
<summary>聊天热词</summary>
12581280

1259-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/tiangou"`
1281+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/word_count"`
12601282

1261-
- [x] 舔狗日记
1283+
- [x] 热词 [群号] [消息数目]|热词 123456 1000
12621284

12631285
</details>
12641286
<details>
1265-
<summary>聊天热词</summary>
1287+
<summary>猜单词</summary>
12661288

1267-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/word_count"`
1289+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wordle"`
12681290

1269-
- [x] 热词 [群号] [消息数目]|热词 123456 1000
1291+
- [x] 个人猜单词
1292+
1293+
- [x] 团队猜单词
1294+
1295+
- [x] 团队六阶猜单词
1296+
1297+
- [x] 团队七阶猜单词
12701298

12711299
</details>
12721300
<details>

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ go 1.19
55
require (
66
github.com/Baidu-AIP/golang-sdk v1.1.1
77
github.com/Coloured-glaze/gg v1.3.4
8-
github.com/FloatTech/AnimeAPI v1.5.2-0.20221101144606-ec2f4e59d0ef
8+
github.com/FloatTech/AnimeAPI v1.5.2-0.20221105044443-0c9004b2f051
99
github.com/FloatTech/floatbox v0.0.0-20221029160423-446812ec82d9
1010
github.com/FloatTech/sqlite v0.5.0
1111
github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b
1212
github.com/FloatTech/zbpctrl v1.5.2
1313
github.com/FloatTech/zbputils v1.5.1-0.20221101032142-05b2a4825567
1414
github.com/RomiChan/syncx v0.0.0-20220404072119-d7ea0ae15a4c
15+
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc
1516
github.com/antchfx/htmlquery v1.2.5
1617
github.com/corona10/goimagehash v1.1.0
1718
github.com/fumiama/ahsai v0.1.0
@@ -38,7 +39,6 @@ require (
3839
)
3940

4041
require (
41-
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc // indirect
4242
github.com/antchfx/xpath v1.2.1 // indirect
4343
github.com/disintegration/imaging v1.6.2 // indirect
4444
github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4 // indirect

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym
44
github.com/Coloured-glaze/gg v1.3.4 h1:l31zIF/HaVwkzjrj+A56RGQoSKyKuR1IWtIrqXGFStI=
55
github.com/Coloured-glaze/gg v1.3.4/go.mod h1:Ih5NLNNDHOy3RJbB0EPqGTreIzq/H02TGThIagh8HJg=
66
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
7-
github.com/FloatTech/AnimeAPI v1.5.2-0.20221101144606-ec2f4e59d0ef h1:IO4ZSaTrRTidAXqUH86dHgzk8vRlw2+YX0Oz+4n/oeg=
8-
github.com/FloatTech/AnimeAPI v1.5.2-0.20221101144606-ec2f4e59d0ef/go.mod h1:7ZXHFEgAOFvfbgIwgyFl8G/ISnUl1KvWBzngoCpQVLg=
7+
github.com/FloatTech/AnimeAPI v1.5.2-0.20221105044443-0c9004b2f051 h1:NEW8HzBNybMXAV0NrDpMF31n/e9BFGvNiGkDPGSkouc=
8+
github.com/FloatTech/AnimeAPI v1.5.2-0.20221105044443-0c9004b2f051/go.mod h1:Z+Q4kIPNo/OX4RWw6WGQOQcaNsbkv/wPmPDw8p4aQIY=
99
github.com/FloatTech/floatbox v0.0.0-20221029160423-446812ec82d9 h1:HYJ7lwaqaOKmbYooPUMWxMhXRTp+JItoyeqa320ARD4=
1010
github.com/FloatTech/floatbox v0.0.0-20221029160423-446812ec82d9/go.mod h1:w+ND28mRaJvxUJ6pRXS6i4cLzutpXsWyroutCzBdL78=
1111
github.com/FloatTech/sqlite v0.5.0 h1:U7J5Omc534PqmH6csfu+ypCo3DS8L91l5lTsxUu3b/U=

main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ import (
9999
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/jptingroom" // 日语听力学习材料
100100
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/juejuezi" // 绝绝子生成器
101101
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/lolicon" // lolicon 随机图片
102+
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/magicprompt" // magicprompt吟唱提示
102103
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/midicreate" // 简易midi音乐制作
103104
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/moegoe" // 日韩 VITS 模型拟声
104105
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/moyu" // 摸鱼
@@ -112,6 +113,7 @@ import (
112113
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/nsfw" // nsfw图片识别
113114
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/omikuji" // 浅草寺求签
114115
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/qqwife" // 一群一天一夫一妻制群老婆
116+
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/realcugan" // realcugan清晰术
115117
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/reborn" // 投胎
116118
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/runcode" // 在线运行代码
117119
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/saucenao" // 以图搜图
@@ -124,6 +126,7 @@ import (
124126
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/tiangou" // 舔狗日记
125127
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/tracemoe" // 搜番
126128
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/translation" // 翻译
129+
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/vitsnyaru" // vits猫雷
127130
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/vtb_quotation" // vtb语录
128131
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/wangyiyun" // 网易云音乐热评
129132
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/wenxinAI" // 百度文心AI画图

plugin/aipaint/aipaint.go

Lines changed: 55 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ func init() { // 插件主体
5656
"- [ ai高级绘图 | 高级生成色图 | 高级生成涩图 | ai高级画图 ] [prompt]\n" +
5757
"- [ 以图绘图 | 以图生图 | 以图画图 ] xxx [图片]|@xxx|[qq号]\n" +
5858
"- 设置ai绘图配置 [server] [token]\n" +
59+
"- 设置ai绘图撤回时间90s\n" +
60+
"- 查看ai绘图配置\n" +
5961
"例: 设置ai绘图配置 http://91.217.139.190:5010 abc\n" +
6062
"参考服务器 http://91.217.139.190:5010, http://91.216.169.75:5010, http://185.80.202.180:5010\n" +
6163
"通过 http://91.217.139.190:5010/token 获取token\n" +
@@ -67,23 +69,23 @@ func init() { // 插件主体
6769
datapath = file.BOTPATH + "/" + engine.DataFolder()
6870
engine.OnPrefixGroup([]string{`ai绘图`, `生成色图`, `生成涩图`, `ai画图`}).SetBlock(true).
6971
Handle(func(ctx *zero.Ctx) {
70-
server, token, err := cfg.load()
72+
err := cfg.load()
7173
if err != nil {
7274
ctx.SendChain(message.Text("ERROR: ", err))
7375
return
7476
}
7577
ctx.SendChain(message.Text("少女祈祷中..."))
7678
args := ctx.State["args"].(string)
77-
data, err := web.GetData(server + fmt.Sprintf(aipaintTxt2ImgURL, token, url.QueryEscape(strings.TrimSpace(strings.ReplaceAll(args, " ", "%20")))))
79+
data, err := web.GetData(cfg.BaseURL + fmt.Sprintf(aipaintTxt2ImgURL, cfg.Token, url.QueryEscape(strings.TrimSpace(strings.ReplaceAll(args, " ", "%20")))))
7880
if err != nil {
7981
ctx.SendChain(message.Text("ERROR: ", err))
8082
return
8183
}
82-
sendAiImg(ctx, data)
84+
sendAiImg(ctx, data, cfg.Interval)
8385
})
8486
engine.OnRegex(`^(以图绘图|以图生图|以图画图)[\s\S]*?(\[CQ:(image\,file=([0-9a-zA-Z]{32}).*|at.+?(\d{5,11}))\].*|(\d+))$`).SetBlock(true).
8587
Handle(func(ctx *zero.Ctx) {
86-
server, token, err := cfg.load()
88+
err := cfg.load()
8789
if err != nil {
8890
ctx.SendChain(message.Text("ERROR: ", err))
8991
return
@@ -101,7 +103,7 @@ func init() { // 插件主体
101103
return
102104
}
103105
ctx.SendChain(message.Text("少女祈祷中..."))
104-
postURL := server + fmt.Sprintf(aipaintImg2ImgURL, token, url.QueryEscape(strings.TrimSpace(strings.ReplaceAll(args, " ", "%20"))))
106+
postURL := cfg.BaseURL + fmt.Sprintf(aipaintImg2ImgURL, cfg.Token, url.QueryEscape(strings.TrimSpace(strings.ReplaceAll(args, " ", "%20"))))
105107

106108
f, err := os.Open(c.headimgsdir[0])
107109
if err != nil {
@@ -136,11 +138,11 @@ func init() { // 插件主体
136138
ctx.SendChain(message.Text("ERROR: ", err))
137139
return
138140
}
139-
sendAiImg(ctx, data)
141+
sendAiImg(ctx, data, cfg.Interval)
140142
})
141143
engine.OnPrefixGroup([]string{`ai高级绘图`, `高级生成色图`, `高级生成涩图`, `ai高级画图`}).SetBlock(true).
142144
Handle(func(ctx *zero.Ctx) {
143-
server, token, err := cfg.load()
145+
err := cfg.load()
144146
if err != nil {
145147
ctx.SendChain(message.Text("ERROR: ", err))
146148
return
@@ -156,13 +158,13 @@ func init() { // 插件主体
156158
if len(value) > 1 {
157159
if value[0] == "R18" && value[1] == "1" {
158160
value[1] = "0"
159-
ctx.SendChain(message.Text("不准涩涩!已将R18设置为0"))
161+
ctx.SendChain(message.Text("不准涩涩! 已将R18设置为0. "))
160162
}
161163
tags[value[0]] = strings.Join(value[1:], ":")
162164
}
163165
}
164166
ctx.SendChain(message.Text("少女祈祷中..."))
165-
apiurl := "/got_image?token=" + token
167+
apiurl := "/got_image?token=" + cfg.Token
166168
if _, ok := tags["tags"]; ok {
167169
apiurl += "&tags=" + url.QueryEscape(strings.ReplaceAll(strings.TrimSpace(tags["tags"]), " ", "%20"))
168170
}
@@ -181,26 +183,63 @@ func init() { // 插件主体
181183
if _, ok := tags["seed"]; ok {
182184
apiurl += "&seed=" + url.QueryEscape(strings.TrimSpace(tags["seed"]))
183185
}
184-
data, err := web.GetData(server + apiurl)
186+
data, err := web.GetData(cfg.BaseURL + apiurl)
185187
if err != nil {
186188
ctx.SendChain(message.Text("ERROR: ", err))
187189
return
188190
}
189-
sendAiImg(ctx, data)
191+
sendAiImg(ctx, data, cfg.Interval)
190192
})
191193
engine.OnRegex(`^设置ai绘图配置\s(.*[^\s$])\s(.+)$`, zero.SuperUserPermission).SetBlock(true).
192194
Handle(func(ctx *zero.Ctx) {
193195
regexMatched := ctx.State["regex_matched"].([]string)
194-
err := cfg.save(regexMatched[1], regexMatched[2])
196+
err := cfg.load()
195197
if err != nil {
196198
ctx.SendChain(message.Text("ERROR: ", err))
197199
return
198200
}
199-
ctx.SendChain(message.Text("成功设置server为", regexMatched[1], ", token为", regexMatched[2]))
201+
err = cfg.update(regexMatched[1], regexMatched[2], cfg.Interval)
202+
if err != nil {
203+
ctx.SendChain(message.Text("ERROR: ", err))
204+
return
205+
}
206+
text := fmt.Sprintf("成功设置\nbase_url: %v\ntoken: %v\ninterval: %v\n", cfg.BaseURL, cfg.Token, cfg.Interval)
207+
ctx.SendChain(message.Text(text))
208+
})
209+
engine.OnRegex(`^设置ai绘图撤回时间(\d{1,3})s$`, zero.SuperUserPermission).SetBlock(true).
210+
Handle(func(ctx *zero.Ctx) {
211+
regexMatched := ctx.State["regex_matched"].([]string)
212+
interval, err := strconv.Atoi(regexMatched[1])
213+
if err != nil {
214+
ctx.SendChain(message.Text("ERROR: ", err))
215+
return
216+
}
217+
err = cfg.load()
218+
if err != nil {
219+
ctx.SendChain(message.Text("ERROR: ", err))
220+
return
221+
}
222+
err = cfg.update(cfg.BaseURL, cfg.Token, interval)
223+
if err != nil {
224+
ctx.SendChain(message.Text("ERROR: ", err))
225+
return
226+
}
227+
text := fmt.Sprintf("成功设置\nbase_url: %v\ntoken: %v\ninterval: %v\n", cfg.BaseURL, cfg.Token, cfg.Interval)
228+
ctx.SendChain(message.Text(text))
229+
})
230+
engine.OnFullMatch(`查看ai绘图配置`, zero.SuperUserPermission).SetBlock(true).
231+
Handle(func(ctx *zero.Ctx) {
232+
err := cfg.load()
233+
if err != nil {
234+
ctx.SendChain(message.Text("ERROR: ", err))
235+
return
236+
}
237+
text := fmt.Sprintf("base_url: %v\ntoken: %v\ninterval: %v\n", cfg.BaseURL, cfg.Token, cfg.Interval)
238+
ctx.SendChain(message.Text(text))
200239
})
201240
}
202241

203-
func sendAiImg(ctx *zero.Ctx, data []byte) {
242+
func sendAiImg(ctx *zero.Ctx, data []byte, interval int) {
204243
var loadData string
205244
if predictRe.MatchString(binary.BytesToString(data)) {
206245
loadData = predictRe.FindStringSubmatch(binary.BytesToString(data))[0]
@@ -223,11 +262,10 @@ func sendAiImg(ctx *zero.Ctx, data []byte) {
223262
m = append(m, ctxext.FakeSenderForwardNode(ctx, message.Text(r.String())))
224263
if mid := ctx.Send(m); mid.ID() == 0 {
225264
ctx.SendChain(message.Text("ERROR: 可能被风控或下载图片用时过长,请耐心等待"))
226-
} else {
265+
} else if interval > 0 {
227266
go func(i message.MessageID) {
228-
time.Sleep(90 * time.Second)
267+
time.Sleep(time.Duration(interval) * time.Second)
229268
ctx.DeleteMessage(i)
230269
}(mid)
231270
}
232-
233271
}

plugin/aipaint/config.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ import (
1010

1111
// 配置结构体
1212
type serverConfig struct {
13-
BaseURL string `json:"base_url"`
14-
Token string `json:"token"`
15-
file string
13+
BaseURL string `json:"base_url"`
14+
Token string `json:"token"`
15+
Interval int `json:"interval"`
16+
file string
1617
}
1718

1819
func newServerConfig(file string) *serverConfig {
@@ -21,9 +22,14 @@ func newServerConfig(file string) *serverConfig {
2122
}
2223
}
2324

24-
func (cfg *serverConfig) save(baseURL, token string) (err error) {
25-
cfg.BaseURL = baseURL
26-
cfg.Token = token
25+
func (cfg *serverConfig) update(baseURL, token string, interval int) (err error) {
26+
if baseURL != "" {
27+
cfg.BaseURL = baseURL
28+
}
29+
if token != "" {
30+
cfg.Token = token
31+
}
32+
cfg.Interval = interval
2733
reader, err := os.Create(cfg.file)
2834
if err != nil {
2935
return err
@@ -32,10 +38,8 @@ func (cfg *serverConfig) save(baseURL, token string) (err error) {
3238
return json.NewEncoder(reader).Encode(cfg)
3339
}
3440

35-
func (cfg *serverConfig) load() (aipaintServer, token string, err error) {
36-
if cfg.BaseURL != "" && cfg.Token != "" {
37-
aipaintServer = cfg.BaseURL
38-
token = cfg.Token
41+
func (cfg *serverConfig) load() (err error) {
42+
if cfg.BaseURL != "" && cfg.Token != "" && cfg.Interval != 0 {
3943
return
4044
}
4145
if file.IsNotExist(cfg.file) {
@@ -48,7 +52,5 @@ func (cfg *serverConfig) load() (aipaintServer, token string, err error) {
4852
}
4953
defer reader.Close()
5054
err = json.NewDecoder(reader).Decode(cfg)
51-
aipaintServer = cfg.BaseURL
52-
token = cfg.Token
5355
return
5456
}

0 commit comments

Comments
 (0)