feat: 在 scoresaber 模块中添加 ss+n 命令,允许用户查询提升排名所需的分数,并优化 FetchPlayerData 函数的返回类型以提高错误处理能力
This commit is contained in:
@@ -90,7 +90,7 @@ func (ss *ssQuery) BindSS(qqId string, ssId string) (reply string) {
|
||||
return "ssId格式错误,应当为一串数字(是您的scoresaber主页链接中的末尾数字部分,一般和您的steamID相同)"
|
||||
}
|
||||
data, err := FetchPlayerData(ssId)
|
||||
if data == nil {
|
||||
if data.ID == "" {
|
||||
if err != nil {
|
||||
return "请求出错,报错如下,如果确定命令没问题可以重新试试:" + err.Error()
|
||||
}
|
||||
@@ -106,7 +106,7 @@ func (ss *ssQuery) BindSS(qqId string, ssId string) (reply string) {
|
||||
}
|
||||
rows.Close()
|
||||
// 获取当前绑定账号的信息
|
||||
if currentData, err := FetchPlayerData(currentSsId); err == nil && currentData != nil {
|
||||
if currentData, err := FetchPlayerData(currentSsId); err == nil && currentData.ID != "" {
|
||||
return fmt.Sprintf("您已绑定至ss账号:%s,请先输入\"解绑ss\"解绑", currentData.Name)
|
||||
}
|
||||
return "您已绑定过ss账号,请先输入\"解绑ss\"解绑"
|
||||
@@ -167,10 +167,12 @@ func (ss *ssQuery) GetScore(ssId string) (reply string, err error) {
|
||||
|
||||
// 查询玩家数据
|
||||
data, err := FetchPlayerData(ssId)
|
||||
if data == nil {
|
||||
if err != nil {
|
||||
return "查询出错,报错如下" + err.Error(), errors.New("查询出错,报错如下" + err.Error())
|
||||
}
|
||||
|
||||
if data.ID == "" {
|
||||
return "未找到玩家,请检查ID后重试", errors.New("未找到玩家,请检查ID后重试")
|
||||
}
|
||||
// 构建 PlayerDataLite 结构体
|
||||
dataLite := PlayerDataLite{
|
||||
ID: data.ID,
|
||||
@@ -232,9 +234,12 @@ func (ss *ssQuery) GetScore(ssId string) (reply string, err error) {
|
||||
func (ss *ssQuery) GetScoreWithoutUpdate(ssId string) (reply string, err error) {
|
||||
// 查询玩家数据
|
||||
data, err := FetchPlayerData(ssId)
|
||||
if data == nil {
|
||||
if err != nil {
|
||||
return "查询出错,报错如下" + err.Error(), errors.New("查询出错,报错如下" + err.Error())
|
||||
}
|
||||
if data.ID == "" {
|
||||
return "未找到玩家,请检查ID后重试", errors.New("未找到玩家,请检查ID后重试")
|
||||
}
|
||||
// 返回当前数据的字符串表示
|
||||
return data.ToString(), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user