2020-03-23 22:56:41 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
|
|
|
"log"
|
2020-03-24 14:50:49 +00:00
|
|
|
"os"
|
|
|
|
"os/signal"
|
2020-03-23 22:56:41 +00:00
|
|
|
|
2020-03-26 17:11:12 +00:00
|
|
|
"git.1750studios.com/ToddShepard/DB640/internal/bot"
|
2020-03-23 22:56:41 +00:00
|
|
|
"git.1750studios.com/ToddShepard/DB640/internal/config"
|
2020-04-11 02:56:21 +00:00
|
|
|
"git.1750studios.com/ToddShepard/DB640/internal/database"
|
2020-04-05 20:06:15 +00:00
|
|
|
"git.1750studios.com/ToddShepard/DB640/internal/web"
|
2020-03-23 22:56:41 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
cfg := flag.String("c", "", "Config file")
|
|
|
|
flag.Parse()
|
|
|
|
if *cfg == "" {
|
|
|
|
log.Fatalf("Config file must not be empty!")
|
|
|
|
}
|
|
|
|
|
|
|
|
config.LoadConfig(*cfg)
|
2020-04-11 02:56:21 +00:00
|
|
|
database.Init()
|
2020-04-11 03:16:48 +00:00
|
|
|
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!")
|
|
|
|
}
|
2020-03-23 22:56:41 +00:00
|
|
|
|
2020-03-24 14:50:49 +00:00
|
|
|
c := make(chan os.Signal, 1)
|
|
|
|
signal.Notify(c, os.Interrupt)
|
|
|
|
<-c
|
2020-03-23 22:56:41 +00:00
|
|
|
|
2020-04-11 03:16:48 +00:00
|
|
|
if config.C.Features.Bot {
|
|
|
|
bot.DeInit()
|
|
|
|
}
|
|
|
|
|
|
|
|
database.Close()
|
2020-03-24 14:50:49 +00:00
|
|
|
config.WriteConfig(*cfg)
|
2020-03-23 22:56:41 +00:00
|
|
|
}
|