49 lines
877 B
Go
49 lines
877 B
Go
package main
|
|
|
|
import (
|
|
"bot/src/controllers"
|
|
"bot/src/models"
|
|
"log"
|
|
"os"
|
|
"time"
|
|
|
|
tele "gopkg.in/telebot.v4"
|
|
)
|
|
|
|
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 main() {
|
|
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)
|
|
|
|
b.Handle("/dick", dickController.Dick)
|
|
b.Handle("/top_dick", dickController.TopDick)
|
|
|
|
b.Handle("/duel", duelController.StartMatch)
|
|
b.Handle("/accept", duelController.AcceptMatch)
|
|
|
|
b.Start()
|
|
}
|