Giter VIP home page Giter VIP logo

alexa-spotify-connect's Introduction

alexa-spotify-connect (Connect Control for Spotify)

Greenkeeper badge

Build Status Maintainability Test Coverage Coverage Status

Control Spotify Connect devices with Alexa

Alexa Skill Store

UK: https://www.amazon.co.uk/Lawrence-Thorpe-Connect-Control-Spotify/dp/B074KFNWFD
US: https://www.amazon.com/Lawrence-Thorpe-Connect-Control-Spotify/dp/B074KFNWFD

Contribution and development

To get started, fork this repository to make changes. If those changes would be useful in the project, feel free to make a pull request.

Deploy the skill

  1. Create a Spotify developer app at developer.spotify.com, get a client ID and client secret
  2. Create an Amazon Alexa skill, choosing custom. When you get to the part in the Alexa developer console where you can upload/paste in JSON, run skill/skill.js to generate the JSON required
$ node skill/skill.js
  1. Enter the application ID from the developer console into package.json, under the key alexa.applicationId.
  2. Turn on Account linking, choosing "Auth Code Grant". Set "Authorization URI" to https://accounts.spotify.com/authorize, "Access Token URI" to https://accounts.spotify.com/api/token, set client ID and secret, add scopes user-read-playback-state and user-modify-playback-state, and the three redirect URLs from the account linking details in your developer console for the skill
  3. Deploy this webapp to somewhere that supports HTTPS (required for Alexa skills), for example Heroku
  4. Configure the skill to use an HTTPS endpoint of https://<your-url>/<app-name> where app-name is the name specified in alexa.app('app-name'), connect by default

Adding a language

  1. Check that the locale is supported by Amazon (see list of supported locale codes) and get your locale code (e.g. en-GB)
  2. Create a locale file in locales/{LOCALE-CODE}.json (see existing locales for formatting), please do not change the placeholder value names (in double curly brackets e.g. {{name}})
  3. Create a localised interaction model used by Skill Builder in skill/locales/{LOCALE-CODE}.json (please only change the values for the samples for each intent and not the intent names or slots). The formatting should be similar to the other locales, but if more (or fewer) samples are required for the language add as many as possible (more samples mean better accuracy) (formatting done by alexa-utterances)
  4. Add the locale to the list of locales in skill/skill-i18n.js (follow the format used by other locales)
  5. Please also provide publishing information as a comment in your pull request so that it can be localised and published to Amazon in the new language
  6. (Optional: for deployment) To create the JSON data required by Skill Builder run
$ node skill/skill-i18n.js

Deploy

License

MIT

Disclaimer

This product is not endorsed, certified or otherwise approved in any way by Spotify. Spotify is the registered trade mark of the Spotify Group.

alexa-spotify-connect's People

Contributors

dependabot[bot] avatar diegom4riano avatar greenkeeper[bot] avatar greenkeeperio-bot avatar infopz avatar john-d-oh avatar mediocaballero avatar nat80 avatar thorpelawrence avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.