diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml deleted file mode 100644 index c7ce8c8..0000000 --- a/.github/workflows/go.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Go - -on: - push: - branches: [ "main" ] - -jobs: - - build: - runs-on: ubuntu-latest - steps: - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: '1.23' - - - name: Build - run: go build -v ./... diff --git a/cfg.yml b/cfg.yml new file mode 100644 index 0000000..2e33363 --- /dev/null +++ b/cfg.yml @@ -0,0 +1,5 @@ +token: 7757765456:AAFpFXhbi9XCfgRt7P3OT3F_jrBBplubWZA +user_name: "root" +password: "12641264" +host_name: "217.12.40.237" +db_name: "test" \ No newline at end of file diff --git a/go.mod b/go.mod index 4232995..ff0d3bf 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.23.0 require ( github.com/go-sql-driver/mysql v1.8.1 gopkg.in/telebot.v4 v4.0.0-beta.4 + gopkg.in/yaml.v3 v3.0.1 ) require filippo.io/edwards25519 v1.1.0 // indirect diff --git a/go.sum b/go.sum index e151062..780ec49 100644 --- a/go.sum +++ b/go.sum @@ -265,9 +265,11 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= @@ -332,6 +334,7 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= @@ -829,6 +832,7 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/main.go b/main.go index 7841535..65deff6 100644 --- a/main.go +++ b/main.go @@ -4,16 +4,33 @@ import ( "bot/src/controllers" "bot/src/handlers" "log" + "os" "time" tele "gopkg.in/telebot.v4" + "gopkg.in/yaml.v3" ) -var yourToken = "7757765456:AAFpFXhbi9XCfgRt7P3OT3F_jrBBplubWZA" +func config() controllers.Config { + file, err := os.Open("cfg.yml") + if err != nil { + log.Fatal(err) + } + defer file.Close() + // unmarshal the YAML data into a struct + var config controllers.Config + err = yaml.NewDecoder(file).Decode(&config) + if err != nil { + log.Fatal(err) + } + + return config +} func main() { + cfg := config() pref := tele.Settings{ - Token: yourToken, + Token: cfg.Token, Poller: &tele.LongPoller{Timeout: 10 * time.Second}, } @@ -23,7 +40,7 @@ func main() { return } - dc := controllers.NewDB() + dc := controllers.NewDB(cfg) dataHandler := handlers.NewHandlers(dc) duelController := controllers.NewDuel(b, dc) diff --git a/src/controllers/dataController.go b/src/controllers/dataController.go index a3d675e..9480502 100644 --- a/src/controllers/dataController.go +++ b/src/controllers/dataController.go @@ -11,23 +11,20 @@ import ( _ "github.com/go-sql-driver/mysql" ) -type DataConfig struct { - UserName string - Password string - HostName string - DbName string -} - -func (d *DataConfig) Get() string { - return fmt.Sprintf("%s:%s@tcp(%s)/%s", d.UserName, d.Password, d.HostName, d.DbName) +type Config struct { + Token string `yaml:"token"` + UserName string `yaml:"user_name"` + Password string `yaml:"password"` + HostName string `yaml:"host_name"` + DbName string `yaml:"db_name"` } type DataController struct{ DB *sql.DB } -func NewDB() *DataController { - config := DataConfig{UserName: "root", Password: "12641264", HostName: "217.12.40.237", DbName: "test"} +func NewDB(config Config) *DataController { + dbaddr := fmt.Sprintf("%s:%s@tcp(%s)/%s", config.UserName, config.Password, config.HostName, config.DbName) - db, err := sql.Open("mysql", config.Get()) + db, err := sql.Open("mysql", dbaddr) if err != nil { panic(err) }