Implement Queue wrapper

This commit is contained in:
aditya-K2
2023-04-26 03:08:58 +05:30
parent b0a7c9cdb0
commit 7e8ea126bd

View File

@@ -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
}