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
+15 -8
View File
@@ -8,10 +8,12 @@ import (
)
type Config struct {
BotToken string
AppID string
GuildID string
DBHost string
BotToken string
AppID string
GuildID string
DBHost string
LavalinkHost string
LavalinkPass string
}
func LoadConfig() (*Config, error) {
@@ -39,10 +41,15 @@ func LoadConfig() (*Config, error) {
return nil, fmt.Errorf("DB_HOST is not set")
}
lavalinkHost := os.Getenv("LAVALINK_HOST")
lavalinkPass := os.Getenv("LAVALINK_PASSWORD")
return &Config{
BotToken: token,
AppID: appID,
GuildID: guildID,
DBHost: dbHost,
BotToken: token,
AppID: appID,
GuildID: guildID,
DBHost: dbHost,
LavalinkHost: lavalinkHost,
LavalinkPass: lavalinkPass,
}, nil
}