fix: 在 blPlus 和 ssPlusN 函数中添加对用户未打Rank谱面的检查,确保用户在使用功能前满足条件
This commit is contained in:
@@ -92,6 +92,13 @@ func blPlus(msg model.Message) (reply *model.Reply) {
|
||||
FromMsg: msg,
|
||||
}
|
||||
}
|
||||
if userInfo.PP == 0 {
|
||||
return &model.Reply{
|
||||
ReplyMsg: "请先打几首Rank谱面再来使用此功能",
|
||||
ReferOriginMsg: true,
|
||||
FromMsg: msg,
|
||||
}
|
||||
}
|
||||
resultStr.WriteString(fmt.Sprintf("您当前的BeatLeader全区排名为:%d", userInfo.CountryRank))
|
||||
// 获取当前用户所在区对应 + N位的玩家列表
|
||||
leaderboard, err := beatleader.FetchCountryLeaderboard(userInfo.Country, userInfo.CountryRank-N, userInfo.ID)
|
||||
|
||||
30
handler/beatleader/beatleader_test.go
Normal file
30
handler/beatleader/beatleader_test.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package beatleader
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"git.lxtend.com/qqbot/config"
|
||||
"git.lxtend.com/qqbot/handler"
|
||||
"git.lxtend.com/qqbot/model"
|
||||
"git.lxtend.com/qqbot/service/scoresaber"
|
||||
. "github.com/bytedance/mockey"
|
||||
. "github.com/smartystreets/goconvey/convey"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Mock((*config.Config).LoadConfig).Return(nil).Build()
|
||||
}
|
||||
|
||||
func TestBlPlus(t *testing.T) {
|
||||
Convey("TestBlPlus", t, func() {
|
||||
Mock(handler.RegisterHandler).Return().Build()
|
||||
Mock(handler.RegisterHelpInform).Return().Build()
|
||||
Mock(handler.RegisterFrontMatchHandler).Return().Build()
|
||||
Mock(scoresaber.GetSSID).Return("76561198168309881", nil).Build()
|
||||
fmt.Println(blPlus(model.Message{
|
||||
RawMsg: "bl+1",
|
||||
UserId: 1234567890,
|
||||
}))
|
||||
})
|
||||
}
|
||||
@@ -90,6 +90,13 @@ func ssPlusN(msg model.Message) (reply *model.Reply) {
|
||||
FromMsg: msg,
|
||||
}
|
||||
}
|
||||
if userInfo.PP == 0 {
|
||||
return &model.Reply{
|
||||
ReplyMsg: "请先打几首Rank谱面再来使用此功能",
|
||||
ReferOriginMsg: true,
|
||||
FromMsg: msg,
|
||||
}
|
||||
}
|
||||
resultStr.WriteString(fmt.Sprintf("您当前的ScoreSaber全区排名为:%d", userInfo.CountryRank))
|
||||
// 获取当前用户所在区对应+N位的玩家列表
|
||||
leaderboard, err := scoresaber.FetchCountryLeaderboard(userInfo.Country, userInfo.CountryRank-N, userInfo.ID)
|
||||
|
||||
Reference in New Issue
Block a user