- /music skip, pause, resume, stop, repeat, remove, move (DJ role) - /config view, clear, toggletwitch, streamers, beta-features (server owner) - /slvl status, remove-reward; /moderation bans, timeouts; /security history - /beta is now the bot owner's DM-only command: set, off, servers, remove-server, status - betasettings service and repo methods, with integration tests Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
48 lines
1015 B
Go
48 lines
1015 B
Go
package config
|
|
|
|
import (
|
|
"velox-bot/internal/commands/level/shared"
|
|
|
|
"github.com/bwmarrin/discordgo"
|
|
)
|
|
|
|
var Slvl = &discordgo.ApplicationCommand{
|
|
Name: "slvl",
|
|
Description: "Leveling System",
|
|
Options: []*discordgo.ApplicationCommandOption{
|
|
slvlToggleOption(),
|
|
slvlSetLevelOption(),
|
|
slvlSetChannelOption(),
|
|
slvlSetMessageOption(),
|
|
slvlSetRewardOption(),
|
|
slvlRemoveRewardOption(),
|
|
slvlStatusOption(),
|
|
},
|
|
}
|
|
|
|
func SlvlHandler(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
|
data := i.ApplicationCommandData()
|
|
if len(data.Options) == 0 {
|
|
return
|
|
}
|
|
switch data.Options[0].Name {
|
|
case "toggle":
|
|
slvlToggleHandler(s, i)
|
|
case "set":
|
|
slvlSetLevelHandler(s, i)
|
|
case "set-channel":
|
|
slvlSetChannelHandler(s, i)
|
|
case "set-message":
|
|
slvlSetMessageHandler(s, i)
|
|
case "set-reward":
|
|
slvlSetRewardHandler(s, i)
|
|
case "remove-reward":
|
|
slvlRemoveRewardHandler(s, i)
|
|
case "status":
|
|
slvlStatusHandler(s, i)
|
|
default:
|
|
shared.RespondEphemeral(s, i, "Invalid subcommand.")
|
|
}
|
|
}
|
|
|