Skip to content

Commit eeabf94

Browse files
committed
πŸ› adapt to qq
1 parent 2fd394c commit eeabf94

File tree

6 files changed

+61
-23
lines changed

6 files changed

+61
-23
lines changed

β€Žplugin/hyaku/main.goβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"github.com/FloatTech/NanoBot-Plugin/utils/ctxext"
2222
)
2323

24-
const bed = "https://gitcode.net/u011570312/OguraHyakuninIsshu/-/raw/master/"
24+
const bed = "https://gitea.seku.su/fumiama/OguraHyakuninIsshu/raw/branch/master/"
2525

2626
//nolint:asciicheck, structcheck
2727
type line struct {

β€Žplugin/manager/main.goβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func init() {
2020
Handle(func(ctx *nano.Ctx) {
2121
msg := ""
2222
if nano.OnlyQQ(ctx) {
23-
msg = "*ζŠ₯ε‘Š*\n- ηΎ€ID: `" + strconv.FormatInt(int64(ctx.GroupID()), 10) + "`"
23+
msg = "*ζŠ₯ε‘Š*\n- ηΎ€ID: `" + strconv.FormatInt(int64(ctx.GroupID()), 10) + "`\n- θ§¦ε‘η”¨ζˆ·ID: `" + strconv.FormatInt(int64(ctx.UserID()), 10) + "`"
2424
for _, e := range strings.Split(ctx.State["args"].(string), " ") {
2525
e = strings.TrimSpace(e)
2626
if e == "" {

β€Žplugin/runcode/code_runner.goβ€Ž

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,31 @@ func init() {
2626
"JavaScript || TypeScript || PHP || Shell \n" +
2727
"Kotlin || Rust || Erlang || Ruby || Swift \n" +
2828
"R || VB || Py2 || Perl || Pascal || Scala",
29-
}).ApplySingle(ctxext.DefaultSingle).OnMessageRegex(`^>runcode(raw)?\s(.+?)\s([\s\S]+)$`).SetBlock(true).Limit(ctxext.LimitByUser).
29+
}).ApplySingle(ctxext.DefaultSingle).OnMessageRegex(`^\s*[(>)>]runcode(raw)?\s(.+?)\s([\s\S]+)$`).SetBlock(true).Limit(ctxext.LimitByUser).
3030
Handle(func(ctx *nano.Ctx) {
3131
israw := ctx.State["regex_matched"].([]string)[1] != ""
3232
language := ctx.State["regex_matched"].([]string)[2]
3333
language = strings.ToLower(language)
3434
if _, exist := runoob.LangTable[language]; !exist {
3535
// δΈζ”―ζŒθ―­θ¨€
36-
_, _ = ctx.SendPlainMessage(false, nano.MessageEscape("> "+ctx.Message.Author.Username+"\nθ―­θ¨€δΈζ˜―ε—ζ”―ζŒηš„ηΌ–η¨‹θ―­η§ε‘’~"))
36+
msg := "> " + ctx.Message.Author.Username + "\n语言" + language + "δΈζ˜―ε—ζ”―ζŒηš„ηΌ–η¨‹θ―­η§ε‘’~"
37+
if nano.OnlyQQ(ctx) {
38+
_, _ = ctx.SendPlainMessage(false, msg)
39+
} else {
40+
_, _ = ctx.SendPlainMessage(false, nano.MessageEscape(msg))
41+
}
3742
} else {
3843
// ζ‰§θ‘ŒθΏθ‘Œ
3944
block := ctx.State["regex_matched"].([]string)[3]
4045
switch block {
4146
case "help":
42-
_, err := ctx.SendPlainMessage(false, nano.MessageEscape("> "+ctx.Message.Author.Username+" "+language+"-template:\n>runcode "+language+"\n"+runoob.Templates[language]))
47+
msg := "> " + ctx.Message.Author.Username + " " + language + "-template:\n>runcode " + language + "\n" + runoob.Templates[language]
48+
var err error
49+
if nano.OnlyQQ(ctx) {
50+
_, err = ctx.SendPlainMessage(false, msg)
51+
} else {
52+
_, err = ctx.SendPlainMessage(false, nano.MessageEscape(msg))
53+
}
4354
if err != nil {
4455
_, _ = ctx.SendPlainMessage(false, "ERROR: ", err)
4556
}
@@ -53,7 +64,11 @@ func init() {
5364
_, err = ctx.SendPlainMessage(false, output)
5465
} else {
5566
head := "> " + ctx.Message.Author.Username + "\n"
56-
_, err = ctx.SendPlainMessage(false, nano.MessageEscape(head+output))
67+
if nano.OnlyQQ(ctx) {
68+
_, err = ctx.SendPlainMessage(false, head+output)
69+
} else {
70+
_, err = ctx.SendPlainMessage(false, nano.MessageEscape(head+output))
71+
}
5772
}
5873
if err != nil {
5974
_, _ = ctx.SendPlainMessage(false, "ERROR: ", err)

β€Žplugin/score/draw.goβ€Ž

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
5050

5151
var blurback, scbackimg, backshadowimg, avatarimg, avatarbackimg, avatarshadowimg, whitetext, blacktext image.Image
5252
var wg sync.WaitGroup
53-
wg.Add(8)
5453

54+
wg.Add(2)
5555
go func() {
5656
defer wg.Done()
5757
scback := gg.NewContext(canvas.W(), canvas.H())
@@ -67,6 +67,7 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
6767
scbackimg = rendercard.Fillet(scback.Image(), 12)
6868
}()
6969

70+
wg.Add(1)
7071
go func() {
7172
defer wg.Done()
7273
pureblack := gg.NewContext(canvas.W(), canvas.H())
@@ -83,40 +84,46 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
8384

8485
aw, ah := (ch-sch)/2/2/2*3, (ch-sch)/2/2/2*3
8586

86-
go func() {
87-
defer wg.Done()
88-
avatar, _, err := image.Decode(bytes.NewReader(getAvatar))
89-
if err != nil {
90-
return
91-
}
87+
if getAvatar != nil {
88+
wg.Add(1)
89+
go func() {
90+
defer wg.Done()
91+
avatar, _, err := image.Decode(bytes.NewReader(getAvatar))
92+
if err != nil {
93+
return
94+
}
9295

93-
isc := (ch - sch) / 2 / 2 / 2 * 3 / float64(avatar.Bounds().Dy())
96+
isc := (ch - sch) / 2 / 2 / 2 * 3 / float64(avatar.Bounds().Dy())
9497

95-
scavatar := gg.NewContext(int(aw), int(ah))
98+
scavatar := gg.NewContext(int(aw), int(ah))
9699

97-
scavatar.ScaleAbout(isc, isc, aw/2, ah/2)
98-
scavatar.DrawImageAnchored(avatar, scavatar.W()/2, scavatar.H()/2, 0.5, 0.5)
99-
scavatar.Identity()
100+
scavatar.ScaleAbout(isc, isc, aw/2, ah/2)
101+
scavatar.DrawImageAnchored(avatar, scavatar.W()/2, scavatar.H()/2, 0.5, 0.5)
102+
scavatar.Identity()
100103

101-
avatarimg = rendercard.Fillet(scavatar.Image(), 8)
102-
}()
104+
avatarimg = rendercard.Fillet(scavatar.Image(), 8)
105+
}()
106+
}
103107

104108
err = canvas.ParseFontFace(fontdata, (ch-sch)/2/2/2)
105109
if err != nil {
106110
return
107111
}
108112
namew, _ := canvas.MeasureString(a.nickname)
109113

114+
wg.Add(1)
110115
go func() {
111116
defer wg.Done()
112117
avatarshadowimg = imaging.Blur(customrectangle(cw, ch, aw, ah, namew, color.Black), 8)
113118
}()
114119

120+
wg.Add(1)
115121
go func() {
116122
defer wg.Done()
117123
avatarbackimg = customrectangle(cw, ch, aw, ah, namew, colors[0])
118124
}()
119125

126+
wg.Add(1)
120127
go func() {
121128
defer wg.Done()
122129
whitetext, err = customtext(a, fontdata, cw, ch, aw, color.White)
@@ -125,6 +132,7 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
125132
}
126133
}()
127134

135+
wg.Add(1)
128136
go func() {
129137
defer wg.Done()
130138
blacktext, err = customtext(a, fontdata, cw, ch, aw, color.Black)

β€Žplugin/score/sign_in.goβ€Ž

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,16 @@ func init() {
132132
drawedfile: drawedFile,
133133
picfile: picFile,
134134
avatarurl: ctx.Message.Author.Avatar,
135-
nickname: ctx.Message.Author.Username,
136135
inc: add,
137136
score: wallet.GetWalletOf(int64(uidint)),
138137
level: level,
139138
rank: rank,
140139
}
140+
if ctx.Message.Author.Username != "" {
141+
alldata.nickname = ctx.Message.Author.Username
142+
} else {
143+
alldata.nickname = "您ε₯½"
144+
}
141145
drawimage, err := floatstyle(alldata)
142146
if err != nil {
143147
_, _ = ctx.SendPlainMessage(false, "ERROR: ", err)
@@ -294,6 +298,9 @@ func getrank(count int) int {
294298
}
295299

296300
func initPic(picFile string, avatarurl string) (avatar []byte, err error) {
301+
if avatarurl == "" {
302+
return
303+
}
297304
defer process.SleepAbout1sTo2s()
298305
avatar, err = web.GetData(avatarurl)
299306
if err != nil {

β€Žplugin/wife/main.goβ€Ž

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,21 @@ func init() {
4949
data, err := engine.GetLazyData("wives/"+card, true)
5050
card, _, _ = strings.Cut(card, ".")
5151
if err != nil {
52-
_, err = ctx.SendChain(nano.At(uid), nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒\n【图片下载倱θ΄₯: ", err, "】"))
52+
if nano.OnlyQQ(ctx) {
53+
_, err = ctx.SendChain(nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒\n【图片下载倱θ΄₯: ", err, "】"))
54+
} else {
55+
_, err = ctx.SendChain(nano.At(uid), nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒\n【图片下载倱θ΄₯: ", err, "】"))
56+
}
5357
if err != nil {
5458
_, _ = ctx.SendPlainMessage(false, "ERROR: ", err)
5559
}
5660
return
5761
}
58-
_, err = ctx.SendChain(nano.At(uid), nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒"), nano.ImageBytes(data))
62+
if nano.OnlyQQ(ctx) {
63+
_, err = ctx.SendChain(nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒"), nano.ImageBytes(data))
64+
} else {
65+
_, err = ctx.SendChain(nano.At(uid), nano.Text("δ»Šε€©ηš„δΊŒζ¬‘ε…ƒθ€ε©†ζ˜―~【", card, "】哒"), nano.ImageBytes(data))
66+
}
5967
if err != nil {
6068
_, _ = ctx.SendPlainMessage(false, "ERROR: ", err)
6169
}

0 commit comments

Comments
Β (0)