DB640/cmd/db640bot/main.go

47 lines
837 B
Go

package main
import (
"flag"
"log"
"os"
"os/signal"
"git.1750studios.com/ToddShepard/DB640/internal/bot"
"git.1750studios.com/ToddShepard/DB640/internal/config"
"git.1750studios.com/ToddShepard/DB640/internal/database"
"git.1750studios.com/ToddShepard/DB640/internal/web"
)
func main() {
cfg := flag.String("c", "", "Config file")
flag.Parse()
if *cfg == "" {
log.Fatalf("Config file must not be empty!")
}
config.LoadConfig(*cfg)
database.Init()
if config.C.Features.Bot {
bot.Init()
} else {
log.Print("[BOTS] Feature disabled in config!")
}
if config.C.Features.Web {
web.Init()
} else {
log.Print("[WEB] Feature disabled in config!")
}
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
<-c
if config.C.Features.Bot {
bot.DeInit()
}
database.Close()
config.WriteConfig(*cfg)
}