package commands import ( "velox-bot/internal/commands/fun" "velox-bot/internal/commands/help" cmdlevel "velox-bot/internal/commands/level" "velox-bot/internal/commands/meeting" "velox-bot/internal/commands/timezone" "velox-bot/internal/commands/schedule" "velox-bot/internal/commands/projects" "github.com/bwmarrin/discordgo" ) var AllCommands = []*discordgo.ApplicationCommand{ fun.Ping, fun.Joke, fun.Coinflip, fun.Dice, fun.Rps, fun.RpsStats, fun.RpsLeaderboard, help.Help, cmdlevel.Slvl, cmdlevel.Rank, cmdlevel.Leaderboard, cmdlevel.Rewards, meeting.Meeting, timezone.Timezone, schedule.Schedule, projects.Projects, } var handlers = map[string]func(s *discordgo.Session, i *discordgo.InteractionCreate){ "ping": fun.PingHandler, "joke": fun.JokeHandler, "coinflip": fun.CoinflipHandler, "dice": fun.DiceHandler, "rps": fun.RpsHandler, "rpsstats": fun.RpsStatsHandler, "rpsleaderboard": fun.RpsLeaderboardHandler, "help": help.HelpHandler, "slvl": cmdlevel.SlvlHandler, "rank": cmdlevel.RankHandler, "leaderboard": cmdlevel.LeaderboardHandler, "rewards": cmdlevel.RewardsHandler, "meeting": meeting.MeetingHandler, "timezone": timezone.TimezoneHandler, "schedule": schedule.ScheduleHandler, "projects": projects.ProjectsHandler, } func HandleInteraction(s *discordgo.Session, i *discordgo.InteractionCreate) { if h, ok := handlers[i.ApplicationCommandData().Name]; ok { h(s, i) } }