mcstatus/main.go

48 lines
922 B
Go

package main
import (
"log"
"os"
"os/signal"
"syscall"
"github.com/bwmarrin/discordgo"
)
var (
cfg *Config
session *discordgo.Session
)
func main() {
var err error
cfg, err = LoadConfig("config.yaml")
if err != nil {
log.Fatalf("Error loading config: %v", err)
}
session, err = discordgo.New("Bot " + cfg.BotToken)
if err != nil {
log.Fatalf("Error creating session: %v", err)
}
session.AddHandler(ready)
session.Identify.Intents = discordgo.IntentsGuilds
if err := session.Open(); err != nil {
log.Fatalf("Error connecting: %v", err)
}
defer session.Close()
log.Println("Bot started")
sc := make(chan os.Signal, 1)
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
<-sc
log.Println("Shutting down...")
}
func ready(s *discordgo.Session, r *discordgo.Ready) {
log.Printf("Logged in as %s", r.User.String())
monitor := NewStatusMonitor(s, cfg)
monitor.Start()
}