Add QueuePlaylist wrapper

This commit is contained in:
aditya-K2
2023-05-19 00:46:55 +05:30
parent f26ae1301a
commit e025af62d1

View File

@@ -12,11 +12,11 @@ func AddTracksToPlaylist(playlistId spotify.ID, t ...spotify.ID) error {
return err
}
func QueueTracks(ids ...spotify.SimpleTrack) error {
func QueueTracks(ids ...spotify.ID) error {
count := 0
_ctx := ctx()
for _, v := range ids {
if err := Client.QueueSong(_ctx, v.ID); err != nil {
for _, id := range ids {
if err := Client.QueueSong(_ctx, id); err != nil {
return errors.New(fmt.Sprintf("%s | Tracks Queued: %d", err.Error(), count))
}
}
@@ -32,7 +32,34 @@ func QueueAlbum(id spotify.ID) error {
if err != nil {
return err
}
if err := QueueTracks(*album.Tracks...); err != nil {
ids := []spotify.ID{}
for _, v := range *album.Tracks {
ids = append(ids, v.ID)
}
if err := QueueTracks(ids...); err != nil {
return err
}
return nil
}
func QueuePlaylist(id spotify.ID) error {
playlist, c := GetPlaylist(id)
if c == nil {
return (errors.New("hi!"))
}
err := <-c
if err != nil {
return err
}
ids := []spotify.ID{}
for _, v := range *playlist.Tracks {
ids = append(ids, v.Track.ID)
}
if err := QueueTracks(ids...); err != nil {
return err
}
return nil