This commit is contained in:
SmileRex
2025-01-23 05:03:29 +03:00
parent 774ffe78fc
commit 97daedcb35
6 changed files with 39 additions and 33 deletions

View File

@@ -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 ./...

5
cfg.yml Normal file
View File

@@ -0,0 +1,5 @@
token: 7757765456:AAFpFXhbi9XCfgRt7P3OT3F_jrBBplubWZA
user_name: "root"
password: "12641264"
host_name: "217.12.40.237"
db_name: "test"

1
go.mod
View File

@@ -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

4
go.sum
View File

@@ -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=

23
main.go
View File

@@ -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)

View File

@@ -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)
}