kleincordBot/main.go
2024-05-03 21:25:42 +02:00

55 lines
1.0 KiB
Go

package main
import (
"flag"
"github.com/bwmarrin/discordgo"
"github.com/joho/godotenv"
"kleincordBot/commands"
"kleincordBot/routers"
"kleincordBot/services"
"log"
"os"
"os/signal"
)
var (
GuildID = flag.String("guild", "", "Test guild ID. If not passed - bot registers commands globally")
discord *discordgo.Session
)
func main() {
flag.Parse()
err := godotenv.Load()
if err != nil {
log.Fatalf(".env not found: %v", err)
return
}
services.InitServers()
discord, err := discordgo.New("Bot " + os.Getenv("BOT_TOKEN"))
if err != nil {
log.Fatalf(err.Error())
}
discord.AddHandler(routers.MessageRouter)
discord.AddHandler(routers.CommandRouter)
err = discord.Open()
if err != nil {
log.Fatalf("Cannot open the session: %v", err)
}
_, err = discord.ApplicationCommandBulkOverwrite(discord.State.User.ID, *GuildID, commands.Commands)
if err != nil {
print(err.Error())
}
defer discord.Close()
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt)
log.Println("Press Ctrl+C to exit")
<-stop
}