bingobot/main.go
Piper Pentagram bbcf6ef6cf Create discord package and connect/disconnect handlers
This change moves the discord session singleton to the internal/discord
package, and implements basic Connect/Disconnect handlers.
2024-11-08 16:26:05 -08:00

55 lines
763 B
Go

package main
import (
"flag"
"log"
"os"
"os/signal"
"gitlab.com/whom/bingobot/internal/config"
"gitlab.com/whom/bingobot/internal/discord"
"gitlab.com/whom/bingobot/internal/logging"
)
var (
token = flag.String("token", "", "Bot authentication token")
appConfig *config.AppConfig
)
func main() {
flag.Parse()
var err error
appConfig, err = config.Parse()
if err != nil {
log.Fatal(err)
}
logging.Init(appConfig)
err = startBot()
if err != nil {
log.Fatal(err)
}
}
func startBot() error {
err := discord.Connect(*token)
if err != nil {
return err
}
sigch := make(chan os.Signal, 1)
signal.Notify(sigch, os.Interrupt)
<-sigch
logging.Info("shutting down gracefully", "type", "shutdown")
discord.Close()
return nil
}