mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-02-06 15:20:22 +00:00
feat:使用niu包,添加新玩法牛牛拍卖行 (#1098)
This commit is contained in:
@@ -1,41 +1,34 @@
|
||||
package niuniu
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/png"
|
||||
"net/http"
|
||||
|
||||
"github.com/FloatTech/AnimeAPI/niu"
|
||||
"github.com/FloatTech/floatbox/file"
|
||||
"github.com/FloatTech/rendercard"
|
||||
"github.com/FloatTech/zbputils/control"
|
||||
"github.com/FloatTech/zbputils/img/text"
|
||||
zero "github.com/wdvxdr1123/ZeroBot"
|
||||
)
|
||||
|
||||
type drawUserRanking struct {
|
||||
name string
|
||||
user *userInfo
|
||||
}
|
||||
|
||||
type drawer []drawUserRanking
|
||||
|
||||
func (allUsers drawer) draw(t bool) (img image.Image, err error) {
|
||||
fontbyte, err := file.GetLazyData(text.GlowSansFontFile, control.Md5File, true)
|
||||
func processRankingImg(allUsers niu.BaseInfos, ctx *zero.Ctx, t bool) ([]byte, error) {
|
||||
fontByte, err := file.GetLazyData(text.GlowSansFontFile, control.Md5File, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
title string
|
||||
s string
|
||||
)
|
||||
title = "牛牛深度排行"
|
||||
s = "牛牛深度"
|
||||
if t {
|
||||
title = "牛牛长度排行"
|
||||
s = "牛牛长度"
|
||||
s := "牛牛长度"
|
||||
title := "牛牛长度排行"
|
||||
if !t {
|
||||
s = "牛牛深度"
|
||||
title = "牛牛深度排行"
|
||||
}
|
||||
ri := make([]*rendercard.RankInfo, len(allUsers))
|
||||
for i, user := range allUsers {
|
||||
resp, err := http.Get(fmt.Sprintf("https://q1.qlogo.cn/g?b=qq&nk=%d&s=100", user.user.UID))
|
||||
resp, err := http.Get(fmt.Sprintf("https://q1.qlogo.cn/g?b=qq&nk=%d&s=100", user.UID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -46,11 +39,16 @@ func (allUsers drawer) draw(t bool) (img image.Image, err error) {
|
||||
}
|
||||
ri[i] = &rendercard.RankInfo{
|
||||
Avatar: decode,
|
||||
TopLeftText: user.name,
|
||||
BottomLeftText: fmt.Sprintf("QQ:%d", user.user.UID),
|
||||
RightText: fmt.Sprintf("%s:%.2fcm", s, user.user.Length),
|
||||
TopLeftText: ctx.CardOrNickName(user.UID),
|
||||
BottomLeftText: fmt.Sprintf("QQ:%d", user.UID),
|
||||
RightText: fmt.Sprintf("%s:%.2fcm", s, user.Length),
|
||||
}
|
||||
}
|
||||
img, err = rendercard.DrawRankingCard(fontbyte, title, ri)
|
||||
return
|
||||
img, err := rendercard.DrawRankingCard(fontByte, title, ri)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var buf bytes.Buffer
|
||||
err = png.Encode(&buf, img)
|
||||
return buf.Bytes(), err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user