From 5bb07950f6c21d0871010213f83ac7665554622b Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Sun, 4 May 2025 23:17:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9C=A8=20blPlus=20=E5=92=8C=20ssPlusN?= =?UTF-8?q?=20=E5=87=BD=E6=95=B0=E4=B8=AD=E4=BC=98=E5=8C=96=E6=9C=AA?= =?UTF-8?q?=E6=89=BE=E5=88=B0=E7=9B=AE=E6=A0=87=E6=8E=92=E5=90=8D=E7=8E=A9?= =?UTF-8?q?=E5=AE=B6=E7=9A=84=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E7=94=A8=E6=88=B7=E8=8E=B7=E5=BE=97=E6=B8=85?= =?UTF-8?q?=E6=99=B0=E7=9A=84=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/beatleader/beatleader.go | 13 ++++++++++++- handler/scoresaber/score.go | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/handler/beatleader/beatleader.go b/handler/beatleader/beatleader.go index 63e275c..d648d47 100644 --- a/handler/beatleader/beatleader.go +++ b/handler/beatleader/beatleader.go @@ -126,19 +126,30 @@ func blPlus(msg model.Message) (reply *model.Reply) { } if len(leaderboard) == 0 { resultStr.WriteString("\n") - resultStr.WriteString("请输入一个有效的目标排名偏移量(现在太大了)") + resultStr.WriteString("未找到目标排名的玩家,请尝试更小的目标排名偏移量") return &model.Reply{ ReplyMsg: resultStr.String(), ReferOriginMsg: true, FromMsg: msg, } } + var foundTargetPlayer bool for _, player := range leaderboard { if player.CountryRank == targetRank { targetPlayer = player + foundTargetPlayer = true break } } + if !foundTargetPlayer { + resultStr.WriteString("\n") + resultStr.WriteString("未找到目标排名的玩家,请尝试更小的目标排名偏移量") + return &model.Reply{ + ReplyMsg: resultStr.String(), + ReferOriginMsg: true, + FromMsg: msg, + } + } resultStr.WriteString("\n") if isPlus { resultStr.WriteString(fmt.Sprintf("您只需要再打出%.2fpp就能超越 %s,达到%s区第%d名。", targetPlayer.PP-userInfo.PP, targetPlayer.Name, userInfo.Country, targetPlayer.CountryRank)) diff --git a/handler/scoresaber/score.go b/handler/scoresaber/score.go index 4dc9caf..a806890 100644 --- a/handler/scoresaber/score.go +++ b/handler/scoresaber/score.go @@ -124,19 +124,30 @@ func ssPlusN(msg model.Message) (reply *model.Reply) { } if len(leaderboard.Players) == 0 { resultStr.WriteString("\n") - resultStr.WriteString("请输入一个有效的目标排名偏移量(现在太大了)") + resultStr.WriteString("未找到目标排名的玩家,请尝试更小的目标排名偏移量") return &model.Reply{ ReplyMsg: resultStr.String(), ReferOriginMsg: true, FromMsg: msg, } } + var foundTargetPlayer bool for _, player := range leaderboard.Players { if player.CountryRank == targetRank { targetPlayer = player + foundTargetPlayer = true break } } + if !foundTargetPlayer { + resultStr.WriteString("\n") + resultStr.WriteString("未找到目标排名的玩家,请尝试更小的目标排名偏移量") + return &model.Reply{ + ReplyMsg: resultStr.String(), + ReferOriginMsg: true, + FromMsg: msg, + } + } resultStr.WriteString("\n") if isPlus { resultStr.WriteString(fmt.Sprintf("您只需要再打出%.2fpp就能超越%s,达到%s区第%d名。", targetPlayer.PP-userInfo.PP, targetPlayer.Name, userInfo.Country, targetPlayer.CountryRank))