mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-04 19:17:37 +08:00
style: move internal/config to modules/config
config should not be internal, maybe some module need it.
This commit is contained in:
parent
ddd51e6ca3
commit
1337d3f1f3
@ -25,7 +25,7 @@ import (
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/global"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/base"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
)
|
||||
|
||||
// CQBot CQBot结构体,存储Bot实例相关配置
|
||||
|
@ -3,12 +3,14 @@ package base
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
"path"
|
||||
"time"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
"gopkg.in/yaml.v3"
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
)
|
||||
|
||||
// command flags
|
||||
@ -49,14 +51,15 @@ var (
|
||||
|
||||
// Parse parse flags
|
||||
func Parse() {
|
||||
flag.StringVar(&LittleC, "c", config.DefaultConfigFile, "configuration filename")
|
||||
wd, _ := os.Getwd()
|
||||
dc := path.Join(wd, "config.yml")
|
||||
flag.StringVar(&LittleC, "c", dc, "configuration filename")
|
||||
flag.BoolVar(&LittleD, "d", false, "running as a daemon")
|
||||
flag.BoolVar(&LittleH, "h", false, "this help")
|
||||
flag.StringVar(&LittleWD, "w", "", "cover the working directory")
|
||||
d := flag.Bool("D", false, "debug mode")
|
||||
flag.Parse()
|
||||
|
||||
config.DefaultConfigFile = LittleC // cover config file
|
||||
if *d {
|
||||
Debug = true
|
||||
}
|
||||
@ -64,7 +67,7 @@ func Parse() {
|
||||
|
||||
// Init read config from yml file
|
||||
func Init() {
|
||||
conf := config.Get()
|
||||
conf := config.Parse(LittleC)
|
||||
{ // bool config
|
||||
if conf.Output.Debug {
|
||||
Debug = true
|
||||
|
2
main.go
2
main.go
@ -30,8 +30,8 @@ import (
|
||||
"github.com/Mrs4s/go-cqhttp/global"
|
||||
"github.com/Mrs4s/go-cqhttp/global/terminal"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/base"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/selfupdate"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
"github.com/Mrs4s/go-cqhttp/server"
|
||||
)
|
||||
|
||||
|
@ -6,10 +6,8 @@ import (
|
||||
_ "embed" // embed the default config file
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/internal/param"
|
||||
|
||||
@ -21,11 +19,6 @@ import (
|
||||
//go:embed default_config.yml
|
||||
var defaultConfig string
|
||||
|
||||
var currentPath = getCurrentPath()
|
||||
|
||||
// DefaultConfigFile 默认配置文件路径
|
||||
var DefaultConfigFile = path.Join(currentPath, "config.yml")
|
||||
|
||||
// Reconnect 重连配置
|
||||
type Reconnect struct {
|
||||
Disabled bool `yaml:"disabled"`
|
||||
@ -144,28 +137,22 @@ type LevelDBConfig struct {
|
||||
Enable bool `yaml:"enable"`
|
||||
}
|
||||
|
||||
var (
|
||||
config *Config
|
||||
once sync.Once
|
||||
)
|
||||
// Parse 从默认配置文件路径中获取
|
||||
func Parse(path string) *Config {
|
||||
fromEnv := os.Getenv("GCQ_UIN") != ""
|
||||
|
||||
// Get 从默认配置文件路径中获取
|
||||
func Get() *Config {
|
||||
once.Do(func() {
|
||||
hasEnvironmentConf := os.Getenv("GCQ_UIN") != ""
|
||||
|
||||
file, err := os.Open(DefaultConfigFile)
|
||||
config = &Config{}
|
||||
file, err := os.Open(path)
|
||||
config := &Config{}
|
||||
if err == nil {
|
||||
defer func() { _ = file.Close() }()
|
||||
if err = yaml.NewDecoder(file).Decode(config); err != nil && !hasEnvironmentConf {
|
||||
if err = yaml.NewDecoder(file).Decode(config); err != nil && !fromEnv {
|
||||
log.Fatal("配置文件不合法!", err)
|
||||
}
|
||||
} else if !hasEnvironmentConf {
|
||||
} else if !fromEnv {
|
||||
generateConfig()
|
||||
os.Exit(0)
|
||||
}
|
||||
if hasEnvironmentConf {
|
||||
if fromEnv {
|
||||
// type convert tools
|
||||
toInt64 := func(str string) int64 {
|
||||
i, _ := strconv.ParseInt(str, 10, 64)
|
||||
@ -240,19 +227,9 @@ func Get() *Config {
|
||||
config.Servers = append(config.Servers, map[string]yaml.Node{"ws-reverse": *node})
|
||||
}
|
||||
}
|
||||
})
|
||||
return config
|
||||
}
|
||||
|
||||
// getCurrentPath 获取当前文件的路径,直接返回string
|
||||
func getCurrentPath() string {
|
||||
cwd, e := os.Getwd()
|
||||
if e != nil {
|
||||
panic(e)
|
||||
}
|
||||
return cwd
|
||||
}
|
||||
|
||||
// generateConfig 生成配置文件
|
||||
func generateConfig() {
|
||||
fmt.Println("未找到配置文件,正在为您生成配置文件中!")
|
@ -21,7 +21,7 @@ import (
|
||||
"github.com/tidwall/gjson"
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
)
|
||||
|
||||
type httpServer struct {
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
)
|
||||
|
||||
// RunPprofServer 启动 pprof 性能分析服务器
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||
"github.com/Mrs4s/go-cqhttp/global"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
)
|
||||
|
||||
type lambdaClient struct {
|
||||
|
@ -12,7 +12,7 @@ import (
|
||||
|
||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||
"github.com/Mrs4s/go-cqhttp/global"
|
||||
"github.com/Mrs4s/go-cqhttp/internal/config"
|
||||
"github.com/Mrs4s/go-cqhttp/modules/config"
|
||||
|
||||
"github.com/Mrs4s/MiraiGo/utils"
|
||||
"github.com/gorilla/websocket"
|
||||
|
Loading…
x
Reference in New Issue
Block a user