diff --git a/spt/add.go b/spt/add.go index d8a77b0..4622a10 100644 --- a/spt/add.go +++ b/spt/add.go @@ -1,8 +1,39 @@ package spt -import "github.com/zmb3/spotify/v2" +import ( + "errors" + "fmt" + + "github.com/zmb3/spotify/v2" +) func AddTracksToPlaylist(playlistId spotify.ID, t ...spotify.ID) error { _, err := Client.AddTracksToPlaylist(ctx(), playlistId, t...) return err } + +func addToQueue(ids ...spotify.SimpleTrack) error { + count := 0 + _ctx := ctx() + for _, v := range ids { + if err := Client.QueueSong(_ctx, v.ID); err != nil { + return errors.New(fmt.Sprintf("%s | Tracks Queued: %d", err.Error(), count)) + } + } + return nil +} + +func QueueAlbum(id spotify.ID) error { + album, c := GetAlbum(id) + if c == nil { + return (errors.New("hi!")) + } + err := <-c + if err != nil { + return err + } + if err := addToQueue(*album.Tracks...); err != nil { + return err + } + return nil +}