kleincordBot/main.go

62 lines
1.3 KiB
Go
Raw Permalink Normal View History

2024-04-26 17:56:50 +02:00
package main
import (
"flag"
2024-04-26 17:56:50 +02:00
"github.com/bwmarrin/discordgo"
"github.com/joho/godotenv"
2024-05-03 21:25:42 +02:00
"kleincordBot/commands"
2024-05-04 13:23:57 +02:00
"kleincordBot/handlers"
2024-05-03 21:25:42 +02:00
"kleincordBot/routers"
"kleincordBot/services"
2024-04-26 17:56:50 +02:00
"log"
"os"
"os/signal"
2024-05-04 13:23:57 +02:00
"time"
2024-04-26 17:56:50 +02:00
)
2024-05-03 21:33:16 +02:00
var GuildID = flag.String("guild", "", "Test guild ID. If not passed - bot registers commands globally")
func main() {
flag.Parse()
2024-04-26 17:56:50 +02:00
err := godotenv.Load()
if err != nil {
log.Fatalf(".env not found: %v", err)
return
}
2024-05-04 13:23:57 +02:00
handlers.LogChannelID = os.Getenv("LOG_CHANNEL_ID")
2024-04-26 17:56:50 +02:00
2024-05-03 21:25:42 +02:00
services.InitServers()
2024-05-03 18:07:31 +02:00
2024-04-26 17:56:50 +02:00
discord, err := discordgo.New("Bot " + os.Getenv("BOT_TOKEN"))
if err != nil {
log.Fatalf(err.Error())
}
2024-05-03 21:25:42 +02:00
discord.AddHandler(routers.MessageRouter)
discord.AddHandler(routers.CommandRouter)
err = discord.Open()
if err != nil {
log.Fatalf("Cannot open the session: %v", err)
2024-05-04 13:23:57 +02:00
} else {
discord.ChannelMessageSendEmbed(
handlers.LogChannelID,
&discordgo.MessageEmbed{
Title: "started " + os.Getenv("ENVIRONMENT"),
Timestamp: time.Now().Format(time.RFC3339),
})
}
2024-05-03 21:25:42 +02:00
_, 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
2024-04-26 17:56:50 +02:00
}