Files
dickbot/main.go
2025-03-03 19:13:34 +03:00

75 lines
1.4 KiB
Go

package main
import (
"bot/src/controllers"
"bot/src/models"
"log"
"os"
"time"
tele "gopkg.in/telebot.v4"
)
// //////////////////////
var isTest bool = false
////////////////////////
func config() models.Config {
return models.Config{
Token: os.Getenv("BOT_TOKEN"),
HostName: os.Getenv("DB_HOST"),
DbName: os.Getenv("DB_NAME"),
UserName: os.Getenv("DB_USER"),
Password: os.Getenv("DB_PASS"),
}
}
func testConfig() models.Config {
return models.Config{
Token: "7757765456:AAFpFXhbi9XCfgRt7P3OT3F_jrBBplubWZA",
HostName: "217.12.40.237",
DbName: "stage",
UserName: "root",
Password: "12641264",
}
}
func main() {
var cfg models.Config
if isTest {
cfg = testConfig()
} else {
cfg = config()
}
pref := tele.Settings{
Token: cfg.Token,
Poller: &tele.LongPoller{Timeout: 10 * time.Second},
}
b, err := tele.NewBot(pref)
if err != nil {
log.Fatal(err)
return
}
dc := controllers.NewDB(cfg)
dickController := controllers.NewDick(dc)
duelController := controllers.NewDuel(b, dc)
bonusController := controllers.NewBonusController(b, dc)
b.Handle("/dick", dickController.Dick)
b.Handle("/top_dick", dickController.TopDick)
b.Handle("/duel", duelController.StartMatch)
b.Handle("/accept", duelController.AcceptMatch)
b.Handle("/clear", duelController.ClearMatch)
b.Handle("/b", bonusController.Bonus)
b.Start()
}