Implement slash commands for playback control

This commit is contained in:
2026-09-21 18:48:17 +02:00
parent 347faf6b94
commit d05e721284
15 changed files with 809 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
package commands
import (
"context"
"github.com/disgoorg/disgo/discord"
"github.com/disgoorg/disgo/events"
)
type ResumeCommand struct {
deps *Dependencies
}
func NewResumeCommand(deps *Dependencies) *ResumeCommand {
return &ResumeCommand{deps: deps}
}
func (c *ResumeCommand) Definition() discord.ApplicationCommandCreate {
return discord.SlashCommandCreate{
Name: "resume",
Description: "Resumes the current track",
}
}
func (c *ResumeCommand) Execute(ctx context.Context, event *events.ApplicationCommandInteractionCreate) error {
gid, err := requirePlaybackAccess(c.deps.Discord, event)
if err != nil {
return err
}
if err := c.deps.Music.Guild(gid).SetPaused(ctx, false); err != nil {
return replyWithError(event, "Could not resume playback.", err)
}
return reply(event, "Resumed.")
}