fix: 优化绑定功能的错误提示信息,增加了对用户输入的详细说明,同时在获取玩家数据时添加了重试机制以提高稳定性
This commit is contained in:
@@ -81,21 +81,32 @@ func (bl *blQuery) BindBL(qqId string, blId string) (reply string) {
|
||||
defer tx.Rollback()
|
||||
// blId为数字
|
||||
if _, isNum := strconv.Atoi(blId); isNum != nil {
|
||||
return "blId格式错误,应当为一串数字(大部分情况下是你的steamID)"
|
||||
return "blId格式错误,应当为一串数字(是您的beatleader主页链接中的末尾数字部分,一般和您的steamID相同)"
|
||||
}
|
||||
data, err := FetchPlayerData(blId)
|
||||
if data == nil {
|
||||
if err != nil {
|
||||
return "未找到玩家,请检查ID后重试:" + err.Error()
|
||||
return "请求出错,报错如下,如果确定命令没问题可以重新试试:" + err.Error()
|
||||
}
|
||||
return "未找到玩家,请检查ID后重试"
|
||||
}
|
||||
//去重
|
||||
if rows, err := tx.Query("SELECT * FROM ssBind WHERE qqid = ?", qqId); err == nil {
|
||||
if rows, err := tx.Query("SELECT ssid FROM ssBind WHERE qqid = ?", qqId); err == nil {
|
||||
if rows.Next() {
|
||||
var currentBlId string
|
||||
err := rows.Scan(¤tBlId)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
}
|
||||
rows.Close()
|
||||
// 获取当前绑定账号的信息
|
||||
if currentData, err := FetchPlayerData(currentBlId); err == nil && currentData != nil {
|
||||
return fmt.Sprintf("您已绑定至bl账号:%s,请先输入\"解绑bl\"解绑", currentData.Name)
|
||||
}
|
||||
return "您已绑定过bl账号,请先输入\"解绑bl\"解绑"
|
||||
} else {
|
||||
rows.Close()
|
||||
}
|
||||
rows.Close()
|
||||
}
|
||||
if rows, err := tx.Query("SELECT * FROM ssBind WHERE ssid = ?", blId); err == nil {
|
||||
if rows.Next() {
|
||||
@@ -111,7 +122,7 @@ func (bl *blQuery) BindBL(qqId string, blId string) (reply string) {
|
||||
if err != nil {
|
||||
return "无法提交事务"
|
||||
}
|
||||
return "和用户名为 " + data.Name + " 的用户绑定成功,输入\"查bl\"查看个人数据"
|
||||
return "和用户名为 " + data.Name + " 的用户绑定成功,同时也绑定了您的scoresaber账号。输入\"查bl\"查看个人数据"
|
||||
}
|
||||
|
||||
func (bl *blQuery) UnbindBL(qqId string) (reply string) {
|
||||
|
||||
Reference in New Issue
Block a user