// Handle play intent // No slots required app.intent('PlayIntent', { "utterances": [ "play", "resume", "continue" ] }, function (req, res) { // PUT to Spotify REST API return rq.put("https://api.spotify.com/v1/me/player/play", req.getSession().details.user.accessToken) .then((r) => { req.getSession().set("statusCode", r.statusCode); res.say(successSound); }).catch((err) => { if (err.statusCode === 403) res.say(req.__("Make sure your Spotify account is premium")); if (err.statusCode === 404) { res.say(req.__("I couldn't find any connect devices, check your Alexa app for information on connecting a device")); res.card(connectDeviceCard(req)); } }); } );
// Handle skip previous intent // No slots required app.intent('SkipPreviousIntent', { "utterances": [ "previous", "last", "back", "backwards" ] }, function (req, res) { // POST to Spotify REST API return rq.post("https://api.spotify.com/v1/me/player/previous", req.getSession().details.user.accessToken) .then((r) => { req.getSession().set("statusCode", r.statusCode); res.say(successSound); }).catch((err) => { if (err.statusCode === 403) res.say(req.__("Make sure your Spotify account is premium")); if (err.statusCode === 404) { res.say(req.__("I couldn't find any connect devices, check your Alexa app for information on connecting a device")); res.card(connectDeviceCard(req)); } }); } );
// Handle pause intent // No slots required app.intent('PauseIntent', { "utterances": [ "pause" ] }, function (req, res) { // PUT to Spotify REST API return rq.put("https://api.spotify.com/v1/me/player/pause", req.getSession().details.user.accessToken) .then((r) => { req.getSession().set("statusCode", r.statusCode); res.say(successSound); }).catch((err) => { if (err.statusCode === 403) res.say(req.__("Make sure your Spotify account is premium")); if (err.statusCode === 404) { res.say(req.__("I couldn't find any connect devices, check your Alexa app for information on connecting a device")); res.card(connectDeviceCard(req)); } }); } );
// Handle skip next intent // No slots required app.intent('SkipNextIntent', { "utterances": [ "skip", "next", "forwards" ] }, function (req, res) { // POST to Spotify REST API return rq.post("https://api.spotify.com/v1/me/player/next", req.getSession().details.user.accessToken) .then((r) => { req.getSession().set("statusCode", r.statusCode); res.say(successSound); }).catch((err) => { if (err.statusCode === 403) res.say(req.__("Make sure your Spotify account is premium")); if (err.statusCode === 404) { res.say(req.__("I couldn't find any connect devices, check your Alexa app for information on connecting a device")); res.card(connectDeviceCard(req)); } }); } );