54 lines
1.0 KiB
Go
54 lines
1.0 KiB
Go
package lib
|
|
|
|
import (
|
|
"bytes"
|
|
"errors"
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"legu.airobot/storage"
|
|
)
|
|
|
|
type AIParam struct {
|
|
Config *storage.Config
|
|
Scenes []IScene
|
|
}
|
|
type SceneParam struct {
|
|
Name string
|
|
Desc string
|
|
}
|
|
|
|
func (a *AIParam) Check() error {
|
|
var errMsgs []string
|
|
if a.Config.Global.UserCountTotal == 0 {
|
|
errMsgs = append(errMsgs, "机器人数量至少1个")
|
|
}
|
|
|
|
if a.Config.Global.UserCount == 0 {
|
|
errMsgs = append(errMsgs, "每次压入的用户数至少是1")
|
|
}
|
|
|
|
if a.Config.Global.SId == "" {
|
|
errMsgs = append(errMsgs, "缺少区服ID")
|
|
}
|
|
|
|
if a.Config.Global.IntervalS < 0 {
|
|
errMsgs = append(errMsgs, "压入用户的间隔时间应该是0+")
|
|
}
|
|
|
|
var buf bytes.Buffer
|
|
buf.WriteString("AI 参数校验")
|
|
if errMsgs != nil {
|
|
errMsg := strings.Join(errMsgs, " ")
|
|
buf.WriteString(fmt.Sprintf("未通过 (%s)", errMsg))
|
|
logrus.Error(buf.String())
|
|
return errors.New(errMsg)
|
|
}
|
|
|
|
buf.WriteString(
|
|
fmt.Sprintf("通过 机器人数量:%v", a.Config.Global.UserCountTotal))
|
|
logrus.Debug(buf.String())
|
|
return nil
|
|
}
|