feat: integrate music commands with Lavalink support

- Added new music commands: play, queue, and volume.
- Implemented music management using disgolink for Lavalink integration.
- Updated bot initialization to include Lavalink host and password.
- Enhanced interaction handling for music commands, requiring DJ role for usage.
- Introduced now playing message with interactive buttons for controlling playback.
- Updated dependencies in go.mod for disgolink and snowflake.
This commit is contained in:
2026-03-18 03:47:42 +00:00
parent d177114ddb
commit d7edfea45e
16 changed files with 1268 additions and 19 deletions
+18
View File
@@ -0,0 +1,18 @@
package music
import "github.com/bwmarrin/discordgo"
func updateNowPlayingButtons(channelID, messageID string, guildID string) {
if manager == nil || channelID == "" || messageID == "" {
return
}
repeatSong, repeatQueue := repeatFlags(guildID)
paused, _ := pausedAndVolume(guildID)
comps := nowPlayingComponents(false, repeatSong, repeatQueue, paused)
_, _ = manager.session.ChannelMessageEditComplex(&discordgo.MessageEdit{
Channel: channelID,
ID: messageID,
Components: &comps,
})
}