npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hubot-spotify-playlist

v0.2.2

Published

Allows the ability to add/remove/find tracks to a Collaborative Spotify Playlist.

Downloads

10

Readme

hubot-spotify-playlist

Allows the ability to add/remove/find tracks to a single collaborative Spotify Playlist.

See src/spotify-playlist.coffee for full documentation.

Installation

In hubot project repo, run:

npm install hubot-spotify-playlist --save

Then add hubot-spotify-playlist to your external-scripts.json:

[
  "hubot-spotify-playlist"
]

Pre-Setup

To get started, you need to create an app to use for the Spotify API. https://developer.spotify.com/my-applications Create an App, and enter in the details. Next you will want to make note of the client id and secret, which you will enter in the Hubot Setup step, then add a redirect url, which will also be entered in the Hubot Setup step. The redirect URL should be ideally something that works, so you can extract the code after the redirect.

Next you want to Authorize your app with a user. You'll want to generate an authorize link to navigate to. Replace client_id and redirect_uri which you should've gotten previously.

https://accounts.spotify.com/authorize/?client_id=<client_id>&response_type=code&redirect_uri=<redirect_uri>&scope=playlist-modify-public%20playlist-modify-private

Navigate to this link, login with your Spotify account, and when the redirect is complete, there should be a code parameter on the URL. Make note of this value which you will enter in the next step.

Hubot Setup

There are environment variables that need to be set. SPOTIFY_APP_CLIENT_ID and SPOTIFY_APP_CLIENT_SECRET are required in order for the findTrack function to work. This needs a spotify app setup. The SPOTIFY_USER_ID and SPOTIFY_PLAYLIST_ID are needed to hard code the playlist we are modifying. You should've gotten SPOTIFY_OAUTH_CODE and SPOTIFY_REDIRECT_URI from the pre-setup step. This will allow you to actually add/modify your playlists.

SPOTIFY_APP_CLIENT_ID
SPOTIFY_APP_CLIENT_SECRET
SPOTIFY_USER_ID
SPOTIFY_PLAYLIST_ID
SPOTIFY_OAUTH_CODE
SPOTIFY_REDIRECT_URI

User Usage

Finding tracks

hubot playlist find <query>

Make note of the track ID you want to add so you can add/remove it in the next step.

Adding/Removing Tracks

Using the track id gotten from the last steps, or just putting a query in add you can either add or remove tracks.

hubot playlist add <query>
hubot playlist addid <track_id>
hubot playlist remove <track_id>