chore(lint): 改进代码样式 (#1143)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot] 2025-03-25 12:33:02 +09:00 committed by GitHub
parent e292b69ee5
commit 6c6699a5d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 44 additions and 41 deletions

View File

@ -3,13 +3,14 @@ package minecraftobserver
import ( import (
"fmt" "fmt"
"strings"
"time"
ctrl "github.com/FloatTech/zbpctrl" ctrl "github.com/FloatTech/zbpctrl"
"github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control"
zbpCtxExt "github.com/FloatTech/zbputils/ctxext" zbpCtxExt "github.com/FloatTech/zbputils/ctxext"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
"strings"
"time"
) )
const ( const (
@ -55,7 +56,7 @@ func init() {
} }
msg = append(msg, message.Text(textMsg)) msg = append(msg, message.Text(textMsg))
if id := ctx.Send(msg); id.ID() == 0 { if id := ctx.Send(msg); id.ID() == 0 {
//logrus.Errorln(logPrefix + "Send failed") // logrus.Errorln(logPrefix + "Send failed")
return return
} }
}) })
@ -81,7 +82,7 @@ func init() {
return return
} }
if sid := ctx.Send(message.Text(fmt.Sprintf("服务器 %s 订阅添加成功", addr))); sid.ID() == 0 { if sid := ctx.Send(message.Text(fmt.Sprintf("服务器 %s 订阅添加成功", addr))); sid.ID() == 0 {
//logrus.Errorln(logPrefix + "Send failed") // logrus.Errorln(logPrefix + "Send failed")
return return
} }
// 成功后立即发送一次状态 // 成功后立即发送一次状态
@ -92,7 +93,7 @@ func init() {
} }
msg = append(msg, message.Text(textMsg)) msg = append(msg, message.Text(textMsg))
if id := ctx.Send(msg); id.ID() == 0 { if id := ctx.Send(msg); id.ID() == 0 {
//logrus.Errorln(logPrefix + "Send failed") // logrus.Errorln(logPrefix + "Send failed")
return return
} }
}) })
@ -125,7 +126,7 @@ func init() {
stringBuilder.WriteString(fmt.Sprintf("服务器地址: %s\n", v.ServerAddr)) stringBuilder.WriteString(fmt.Sprintf("服务器地址: %s\n", v.ServerAddr))
} }
if sid := ctx.Send(message.Text(stringBuilder.String())); sid.ID() == 0 { if sid := ctx.Send(message.Text(stringBuilder.String())); sid.ID() == 0 {
//logrus.Errorln(logPrefix + "Send failed") // logrus.Errorln(logPrefix + "Send failed")
return return
} }
}) })
@ -187,7 +188,7 @@ func init() {
ctx.SendPrivateMessage(su, message.Text(logPrefix, "获取订阅列表失败...")) ctx.SendPrivateMessage(su, message.Text(logPrefix, "获取订阅列表失败..."))
return return
} }
//logrus.Debugln(logPrefix+"global get ", len(serverList), " subscribe(s)") // logrus.Debugln(logPrefix+"global get ", len(serverList), " subscribe(s)")
serverMap := make(map[string][]serverSubscribe) serverMap := make(map[string][]serverSubscribe)
for _, v := range serverList { for _, v := range serverList {
serverMap[v.ServerAddr] = append(serverMap[v.ServerAddr], v) serverMap[v.ServerAddr] = append(serverMap[v.ServerAddr], v)
@ -197,12 +198,12 @@ func init() {
// 查询当前存储的状态 // 查询当前存储的状态
storedStatus, sErr := dbInstance.getServerStatus(subAddr) storedStatus, sErr := dbInstance.getServerStatus(subAddr)
if sErr != nil { if sErr != nil {
//logrus.Errorln(logPrefix+fmt.Sprintf("getServerStatus ServerAddr(%s) error: ", subAddr), sErr) // logrus.Errorln(logPrefix+fmt.Sprintf("getServerStatus ServerAddr(%s) error: ", subAddr), sErr)
continue continue
} }
isChanged, changedNotifyMsg, sErr := singleServerScan(storedStatus) isChanged, changedNotifyMsg, sErr := singleServerScan(storedStatus)
if sErr != nil { if sErr != nil {
//logrus.Errorln(logPrefix+"singleServerScan error: ", sErr) // logrus.Errorln(logPrefix+"singleServerScan error: ", sErr)
continue continue
} }
if !isChanged { if !isChanged {
@ -236,12 +237,12 @@ func singleServerScan(oldSubStatus *serverStatus) (changed bool, notifyMsg messa
// 获取服务器状态 & 检查是否需要更新 // 获取服务器状态 & 检查是否需要更新
rawServerStatus, err := getMinecraftServerStatus(oldSubStatus.ServerAddr) rawServerStatus, err := getMinecraftServerStatus(oldSubStatus.ServerAddr)
if err != nil { if err != nil {
//logrus.Warnln(logPrefix+"getMinecraftServerStatus error: ", err) // logrus.Warnln(logPrefix+"getMinecraftServerStatus error: ", err)
err = nil err = nil
// 计数器没有超限,增加计数器并跳过 // 计数器没有超限,增加计数器并跳过
if cnt, ts := addPingServerUnreachableCounter(oldSubStatus.ServerAddr, time.Now()); cnt < pingServerUnreachableCounterThreshold && if cnt, ts := addPingServerUnreachableCounter(oldSubStatus.ServerAddr, time.Now()); cnt < pingServerUnreachableCounterThreshold &&
time.Now().Sub(ts) < pingServerUnreachableCounterTimeThreshold { time.Since(ts) < pingServerUnreachableCounterTimeThreshold {
//logrus.Warnln(logPrefix+"server ", oldSubStatus.ServerAddr, " unreachable, counter: ", cnt, " ts:", ts) // logrus.Warnln(logPrefix+"server ", oldSubStatus.ServerAddr, " unreachable, counter: ", cnt, " ts:", ts)
return return
} }
// 不可达计数器已经超限,则更新服务器状态 // 不可达计数器已经超限,则更新服务器状态
@ -252,17 +253,17 @@ func singleServerScan(oldSubStatus *serverStatus) (changed bool, notifyMsg messa
newSubStatus = rawServerStatus.genServerSubscribeSchema(oldSubStatus.ServerAddr, oldSubStatus.ID) newSubStatus = rawServerStatus.genServerSubscribeSchema(oldSubStatus.ServerAddr, oldSubStatus.ID)
} }
if newSubStatus == nil { if newSubStatus == nil {
//logrus.Errorln(logPrefix + "newSubStatus is nil") // logrus.Errorln(logPrefix + "newSubStatus is nil")
return return
} }
// 检查是否有订阅信息变化 // 检查是否有订阅信息变化
if oldSubStatus.isServerStatusSpecChanged(newSubStatus) { if oldSubStatus.isServerStatusSpecChanged(newSubStatus) {
//logrus.Warnf(logPrefix+"server subscribe spec changed: (%+v) -> (%+v)", oldSubStatus, newSubStatus) // logrus.Warnf(logPrefix+"server subscribe spec changed: (%+v) -> (%+v)", oldSubStatus, newSubStatus)
changed = true changed = true
// 更新数据库 // 更新数据库
err = dbInstance.updateServerStatus(newSubStatus) err = dbInstance.updateServerStatus(newSubStatus)
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"updateServerSubscribeStatus error: ", err) // logrus.Errorln(logPrefix+"updateServerSubscribeStatus error: ", err)
return return
} }
// 纯文本信息 // 纯文本信息

View File

@ -4,11 +4,12 @@ import (
"crypto/md5" "crypto/md5"
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"strings"
"time"
"github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/chat"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/wdvxdr1123/ZeroBot/utils/helper" "github.com/wdvxdr1123/ZeroBot/utils/helper"
"strings"
"time"
) )
// ==================== // ====================
@ -147,7 +148,7 @@ type serverPingAndListResp struct {
// and prepended with "data:image/png;base64,". // and prepended with "data:image/png;base64,".
type icon string type icon string
//func (i icon) toImage() (icon image.Image, err error) { // func (i icon) toImage() (icon image.Image, err error) {
// const prefix = "data:image/png;base64," // const prefix = "data:image/png;base64,"
// if !strings.HasPrefix(string(i), prefix) { // if !strings.HasPrefix(string(i), prefix) {
// return nil, errors.Errorf("server icon should prepended with %s", prefix) // return nil, errors.Errorf("server icon should prepended with %s", prefix)
@ -237,13 +238,13 @@ func formatSubStatusChangeText(oldStatus, newStatus *serverStatus) string {
// 状态由不可达变为可达,反之 // 状态由不可达变为可达,反之
if oldStatus.PingDelay == pingDelayUnreachable && newStatus.PingDelay != pingDelayUnreachable { if oldStatus.PingDelay == pingDelayUnreachable && newStatus.PingDelay != pingDelayUnreachable {
msgBuilder.WriteString("\n-----[Ping延迟]-----\n") msgBuilder.WriteString("\n-----[Ping延迟]-----\n")
msgBuilder.WriteString(fmt.Sprintf("[旧]\n超时\n")) msgBuilder.WriteString("[旧]\n超时\n")
msgBuilder.WriteString(fmt.Sprintf("[新]\n%v毫秒\n", newStatus.PingDelay)) msgBuilder.WriteString(fmt.Sprintf("[新]\n%v毫秒\n", newStatus.PingDelay))
} }
if oldStatus.PingDelay != pingDelayUnreachable && newStatus.PingDelay == pingDelayUnreachable { if oldStatus.PingDelay != pingDelayUnreachable && newStatus.PingDelay == pingDelayUnreachable {
msgBuilder.WriteString("\n-----[Ping延迟]-----\n") msgBuilder.WriteString("\n-----[Ping延迟]-----\n")
msgBuilder.WriteString(fmt.Sprintf("[旧]\n%v毫秒\n", oldStatus.PingDelay)) msgBuilder.WriteString(fmt.Sprintf("[旧]\n%v毫秒\n", oldStatus.PingDelay))
msgBuilder.WriteString(fmt.Sprintf("[新]\n超时\n")) msgBuilder.WriteString("[新]\n超时\n")
} }
return msgBuilder.String() return msgBuilder.String()
} }

View File

@ -2,9 +2,10 @@ package minecraftobserver
import ( import (
"encoding/json" "encoding/json"
"time"
"github.com/RomiChan/syncx" "github.com/RomiChan/syncx"
"github.com/Tnze/go-mc/bot" "github.com/Tnze/go-mc/bot"
"time"
) )
var ( var (
@ -49,12 +50,12 @@ func getMinecraftServerStatus(addr string) (*serverPingAndListResp, error) {
var s serverPingAndListResp var s serverPingAndListResp
resp, delay, err := bot.PingAndListTimeout(addr, time.Second*5) resp, delay, err := bot.PingAndListTimeout(addr, time.Second*5)
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"PingAndList error: ", err) // logrus.Errorln(logPrefix+"PingAndList error: ", err)
return nil, err return nil, err
} }
err = json.Unmarshal(resp, &s) err = json.Unmarshal(resp, &s)
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"Parse json response fail: ", err) // logrus.Errorln(logPrefix+"Parse json response fail: ", err)
return nil, err return nil, err
} }
s.Delay = delay s.Delay = delay

View File

@ -2,13 +2,14 @@ package minecraftobserver
import ( import (
"errors" "errors"
"os"
"sync"
"time"
fcext "github.com/FloatTech/floatbox/ctxext" fcext "github.com/FloatTech/floatbox/ctxext"
"github.com/jinzhu/gorm" "github.com/jinzhu/gorm"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/message"
"os"
"sync"
"time"
) )
const ( const (
@ -43,7 +44,7 @@ func initializeDB(dbpath string) error {
} }
gdb, err := gorm.Open("sqlite3", dbpath) gdb, err := gorm.Open("sqlite3", dbpath)
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"initializeDB ERROR: ", err) // logrus.Errorln(logPrefix+"initializeDB ERROR: ", err)
return err return err
} }
gdb.AutoMigrate(&serverStatus{}, &serverSubscribe{}) gdb.AutoMigrate(&serverStatus{}, &serverSubscribe{})
@ -60,10 +61,9 @@ var (
dbInstance *db dbInstance *db
// 开启并检查数据库链接 // 开启并检查数据库链接
getDB = fcext.DoOnceOnSuccess(func(ctx *zero.Ctx) bool { getDB = fcext.DoOnceOnSuccess(func(ctx *zero.Ctx) bool {
var err error var err error = initializeDB(engine.DataFolder() + dbPath)
err = initializeDB(engine.DataFolder() + dbPath)
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"initializeDB ERROR: ", err) // logrus.Errorln(logPrefix+"initializeDB ERROR: ", err)
ctx.SendChain(message.Text("[mc-ob] ERROR: ", err)) ctx.SendChain(message.Text("[mc-ob] ERROR: ", err))
return false return false
} }
@ -81,7 +81,7 @@ func (d *db) getServerStatus(addr string) (*serverStatus, error) {
} }
var ss serverStatus var ss serverStatus
if err := d.sdb.Model(&ss).Where("server_addr = ?", addr).First(&ss).Error; err != nil { if err := d.sdb.Model(&ss).Where("server_addr = ?", addr).First(&ss).Error; err != nil {
//logrus.Errorln(logPrefix+"getServerStatus ERROR: ", err) // logrus.Errorln(logPrefix+"getServerStatus ERROR: ", err)
return nil, err return nil, err
} }
return &ss, nil return &ss, nil
@ -100,7 +100,7 @@ func (d *db) updateServerStatus(ss *serverStatus) (err error) {
ss.LastUpdate = time.Now().Unix() ss.LastUpdate = time.Now().Unix()
ss2 := ss.deepCopy() ss2 := ss.deepCopy()
if err = d.sdb.Where(&serverStatus{ServerAddr: ss.ServerAddr}).Assign(ss2).FirstOrCreate(ss).Debug().Error; err != nil { if err = d.sdb.Where(&serverStatus{ServerAddr: ss.ServerAddr}).Assign(ss2).FirstOrCreate(ss).Debug().Error; err != nil {
//logrus.Errorln(logPrefix, fmt.Sprintf("updateServerStatus %v ERROR: %v", ss, err)) // logrus.Errorln(logPrefix, fmt.Sprintf("updateServerStatus %v ERROR: %v", ss, err))
return return
} }
return return
@ -116,7 +116,7 @@ func (d *db) delServerStatus(addr string) (err error) {
d.statusLock.Lock() d.statusLock.Lock()
defer d.statusLock.Unlock() defer d.statusLock.Unlock()
if err = d.sdb.Where("server_addr = ?", addr).Delete(&serverStatus{}).Error; err != nil { if err = d.sdb.Where("server_addr = ?", addr).Delete(&serverStatus{}).Error; err != nil {
//logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
return return
} }
return return
@ -128,7 +128,7 @@ func (d *db) newSubscribe(addr string, targetID, targetType int64) (err error) {
return errDBConn return errDBConn
} }
if targetID == 0 || (targetType != 1 && targetType != 2) { if targetID == 0 || (targetType != 1 && targetType != 2) {
//logrus.Errorln(logPrefix+"newSubscribe ERROR: 参数错误 ", targetID, " ", targetType) // logrus.Errorln(logPrefix+"newSubscribe ERROR: 参数错误 ", targetID, " ", targetType)
return errParam return errParam
} }
d.subscribeLock.Lock() d.subscribeLock.Lock()
@ -137,7 +137,7 @@ func (d *db) newSubscribe(addr string, targetID, targetType int64) (err error) {
existedRec := &serverSubscribe{} existedRec := &serverSubscribe{}
err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).First(existedRec).Error err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).First(existedRec).Error
if err != nil && !gorm.IsRecordNotFoundError(err) { if err != nil && !gorm.IsRecordNotFoundError(err) {
//logrus.Errorln(logPrefix+"newSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"newSubscribe ERROR: ", err)
return return
} }
if existedRec.ID != 0 { if existedRec.ID != 0 {
@ -150,7 +150,7 @@ func (d *db) newSubscribe(addr string, targetID, targetType int64) (err error) {
LastUpdate: time.Now().Unix(), LastUpdate: time.Now().Unix(),
} }
if err = d.sdb.Model(&ss).Create(ss).Error; err != nil { if err = d.sdb.Model(&ss).Create(ss).Error; err != nil {
//logrus.Errorln(logPrefix+"newSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"newSubscribe ERROR: ", err)
return return
} }
return return
@ -171,12 +171,12 @@ func (d *db) deleteSubscribe(addr string, targetID int64, targetType int64) (err
if gorm.IsRecordNotFoundError(err) { if gorm.IsRecordNotFoundError(err) {
return errors.New("未找到订阅") return errors.New("未找到订阅")
} }
//logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
return return
} }
if err = d.sdb.Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).Delete(&serverSubscribe{}).Error; err != nil { if err = d.sdb.Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).Delete(&serverSubscribe{}).Error; err != nil {
//logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
return return
} }
@ -184,7 +184,7 @@ func (d *db) deleteSubscribe(addr string, targetID int64, targetType int64) (err
var cnt int var cnt int
err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ?", addr).Count(&cnt).Error err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ?", addr).Count(&cnt).Error
if err != nil { if err != nil {
//logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err) // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
return return
} }
if cnt == 0 { if cnt == 0 {
@ -200,7 +200,7 @@ func (d *db) getAllSubscribes() (subs []serverSubscribe, err error) {
} }
subs = []serverSubscribe{} subs = []serverSubscribe{}
if err = d.sdb.Find(&subs).Error; err != nil { if err = d.sdb.Find(&subs).Error; err != nil {
//logrus.Errorln(logPrefix+"getAllSubscribes ERROR: ", err) // logrus.Errorln(logPrefix+"getAllSubscribes ERROR: ", err)
return return
} }
return return
@ -213,7 +213,7 @@ func (d *db) getSubscribesByTarget(targetID, targetType int64) (subs []serverSub
} }
subs = []serverSubscribe{} subs = []serverSubscribe{}
if err = d.sdb.Model(&serverSubscribe{}).Where("target_id = ? and target_type = ?", targetID, targetType).Find(&subs).Error; err != nil { if err = d.sdb.Model(&serverSubscribe{}).Where("target_id = ? and target_type = ?", targetID, targetType).Find(&subs).Error; err != nil {
//logrus.Errorln(logPrefix+"getSubscribesByTarget ERROR: ", err) // logrus.Errorln(logPrefix+"getSubscribesByTarget ERROR: ", err)
return return
} }
return return