josephschmitt / alexa-libby

A skill to ask Alexa about your Movie and TV Show library queues.
https://josephschmitt.github.io/alexa-libby/
MIT License
51 stars 18 forks source link

Radarr API updated, no longer works #25

Closed BenStein1 closed 6 years ago

BenStein1 commented 6 years ago

Connections to Radarr return: From the Radarr Log 18-3-8 19:00:13.1|Debug|Api|[GET] /api/movies/lookup?term=Zulu: 404.NotFound (0 ms)

From the Alexa Skill Log { "body": { "version": "1.0", "response": { "outputSpeech": { "type": "SSML", "ssml": "An error occured: Error: NotFound" }, "directives": [], "shouldEndSession": true }, "sessionAttributes": {} } }

From what I have gathered is that the Radarr project has been updated and been distanced from Sonarr somewhat. So the API call to 'movies/lookup' or rather just the api command 'movies' no longer exists. The command is now just 'movie' (no s), and as far as I can tell, 'lookup' is also gone.

brettg0396 commented 6 years ago

There a hotfix we can implement ourselves, or is there more to it than just a find-and-replace in this instance? Haven't pored over the code much.

markrennie71 commented 6 years ago

I was just about to install this (again) but is it worth it now that Radarr is broken?

brettg0396 commented 6 years ago

Sonarr still works with alexa-libby, but until the devs update it to work with the new radarr api (which sounds simple enough since it's a change in path) then the radarr functionality is borked, so.

On Sat, Mar 24, 2018, 10:03 AM markrennie71 notifications@github.com wrote:

I was just about to install this (again) but is it worth it now that Radarr is broken?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-375891611, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOmcsHPC8cBcZf49gvLitQEcYDP_Pks5thlITgaJpZM4SjrbF .

markrennie71 commented 6 years ago

if it is only a small change.. it isn't hard just change these 2 export async function search(query) { await loadQualityProfiles(); const resp = await radarr().get('movies/lookup', {term: query});

describe('.search()', () => { beforeEach(() => { apiStub.withArgs('movies/lookup', {term: 'assassin'}).resolves([ sampleMoviesResponse[1] ]); });

brettg0396 commented 6 years ago

Maybe. I've been quite busy with university as of late, so what I did was just run a find-and-replace for the old path, with the new path on all files in the source with notepad++ and that didn't work, but I don't think it caught anything in actual source. Which file is that? Try it and tell me if it works. Either way I'll give it a go after work and get back to you.

On Sat, Mar 24, 2018, 11:25 AM markrennie71 notifications@github.com wrote:

if it is only a small change.. it isn't hard just change these 2 export async function search(query) { await loadQualityProfiles(); const resp = await radarr().get('movies/lookup', {term: query});

describe('.search()', () => { beforeEach(() => { apiStub.withArgs('movies/lookup', {term: 'assassin'}).resolves([ sampleMoviesResponse[1] ]); });

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-375897675, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOuA2enf0b4YS_Ot5Ao7xQ1Kf0rNJks5thmVVgaJpZM4SjrbF .

markrennie71 commented 6 years ago

radarr.js in src\api.. I'll have a play later. might not be as simple as I 1st thought.

brettg0396 commented 6 years ago

Yeah, that might have been the one I tried. I'll look deeper into the code when I get home, but yeah, I thought the same.

On Sat, Mar 24, 2018, 11:30 AM markrennie71 notifications@github.com wrote:

radarr.js in src\api.. I'll have a play later. might not be as simple as I 1st thought.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-375898035, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOo3fsttGnl1vyBX6pD2SPft_Zy8Vks5thmaEgaJpZM4SjrbF .

almostepic89 commented 6 years ago

If you build from source you only need to change one line to make it work again. Then just build from source and upload the new zip archive to the lambda function.

/src/api/radarr.js -> line 58 - Remove the 's' in movies. const resp = await radarr().get('movie/lookup', {term: query});

I have also attached a copy of the .js file from the dist folder. Should be able to just replace the radarr.js in dist/api/. radarr.zip

markrennie71 commented 6 years ago

thanks for this.. well looks like I still cannot use this due to being in the UK.. arse

"AMAZON.Movie"are not currently available for en_GB

almostepic89 commented 6 years ago

change it to AMAZON.literal and you should still be able to use it.

markrennie71 commented 6 years ago

I remember I tried that before and it didn't work.. so I guess just changing to "type": "AMAZON.literal", but that doesn't work and I cannot work out how on earth I am supposed to generate a new list of samples that I presume I need to add in it as well? over my head I think :(

almostepic89 commented 6 years ago

Yeah unfortunately Amazon has removed AMAZON.LITERAL from all other locals except English US and they have not added in the built in slot type of AMAZON.MOVIE or TVSHOW. At this point your best bet would be to send them a message as a feature request for it. I even tried creating a custom slot type and setting just one value since one place I read said that it would still process information if it was able to discern it from the spoken language but it doesn't seem to be picking up on anything except specified values in the custom slot type.

almostepic89 commented 6 years ago

@markrennie71 Update - I found that if you create a custom slot and name it movieName. Then add multiple values of some random movies (I added 10 just to be safe). Then in the FindMovie and AddMovie intents you set the Slot Type to your custom slot you created so Intent Slot is movieName and slot type is movieName, it acts as a wild card and you are able to pass it literal text strings in the same sense that AMAZON.Literal does. You have to have several possible values in the custom slot type for the custom slot to then act as a wild card. I've included a copy of my Alexa JSON from the skill builder for reference.

SkillBuilder.zip

edit: the invocation name was changed to miss libby as Amazon kept thinking I was saying Livy for some reason...

brettg0396 commented 6 years ago

@almostepic89 care to elaborate on your success in building from source? I tried to do the same with up-to-date node.js and npm on Ubuntu 16.0.4 and everything built successfully (install of dependencies, packaging of the .zip) but when I go to test the skill in the Alexa Developer Console, I get an "Audio Only Response" from any query made to the skill, be it from radarr or from sonarr. It's like something has fundamentally broken which shouldn't have from altering just radarr.js. Am I doing something wrong here?

almostepic89 commented 6 years ago

@brettg0396 that hinestly sounds more like an issue with the changes made to the radarr.js file, rather than the building. If it built and compiled the .zip file properly and you are getting a response then it seems the build was done right. Can you upload the radarr.js file as a zip and I'll take a look.

brettg0396 commented 6 years ago

Sure thing in a bit, but it's literally just a removal of the character 's' in 'movies/lookup' on line 58. No other change.

On Sun, Apr 8, 2018, 8:13 PM almostepic89 notifications@github.com wrote:

@brettg0396 https://github.com/brettg0396 that hinestly sounds more like an issue with the changes made to the radarr.js file, rather than the building. If it built and compiled the .zip file properly and you are getting a response then it seems the build was done right. Can you upload the radarr.js file as a zip and I'll take a look.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379594385, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOqhtVe76AwLwuGlBXJMIeY4SBX0uks5tmqefgaJpZM4SjrbF .

almostepic89 commented 6 years ago

If thats the case then dont worry about uploading it. I'm building using Windows myself using node.js 6.? (Not at the computer at the moment but its which ever version was selected during the tutorial for the lambda server). I have noticed on rare occasion the alexa app doesn't show the json request/response but a reload of the page usually fixes it for me. I'm not very knowledgable in node.js (even the programming in JS I've been doing to add additional features is coming from my experience in PHP) so I'm not really sure I'd be able to help except to explain what I had to do to get it to build in Win 10.

brettg0396 commented 6 years ago

Yeah I'm at a loss myself. Initially tried doing this on win10 but this isn't my area of expertise either and I was running into some issues, so I just decided to play it safe and do it on Linux.

On Sun, Apr 8, 2018, 8:21 PM almostepic89 notifications@github.com wrote:

If thats the case then dont worry about uploading it. I'm building using Windows myself using node.js 6.? (Not at the computer at the moment but its which ever version was selected during the tutorial for the lambda server). I have noticed on rare occasion the alexa app doesn't show the json request/response but a reload of the page usually fixes it for me. I'm not very knowledgable in node.js (even the programming in JS I've been doing to add additional features is coming from my experience in PHP) so I'm not really sure I'd be able to help except to explain what I had to do to get it to build in Win 10.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595074, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOhLBY_uq0M7cS21Nvc3LDrvpYCCvks5tmqmWgaJpZM4SjrbF .

almostepic89 commented 6 years ago

In win 10 I had to modify the package.json file scripts so that "package" only ran the second command (remove the first part where it runs prepare), then i ran "install", "run build", "run package" each individually. It skips some commands which rely on a package which isnt built for windows and is skipped during the install command.

On Sun, Apr 8, 2018, 5:23 PM brettg0396 notifications@github.com wrote:

Yeah I'm at a loss myself. Initially tried doing this on win10 but this isn't my area of expertise either and I was running into some issues, so I just decided to play it safe and do it on Linux.

On Sun, Apr 8, 2018, 8:21 PM almostepic89 notifications@github.com wrote:

If thats the case then dont worry about uploading it. I'm building using Windows myself using node.js 6.? (Not at the computer at the moment but its which ever version was selected during the tutorial for the lambda server). I have noticed on rare occasion the alexa app doesn't show the json request/response but a reload of the page usually fixes it for me. I'm not very knowledgable in node.js (even the programming in JS I've been doing to add additional features is coming from my experience in PHP) so I'm not really sure I'd be able to help except to explain what I had to do to get it to build in Win 10.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595074 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AjAnOhLBY_uq0M7cS21Nvc3LDrvpYCCvks5tmqmWgaJpZM4SjrbF

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595237, or mute the thread https://github.com/notifications/unsubscribe-auth/AMxZAaGLtkM6LUwzhfPYloHVVqwcqgNSks5tmqodgaJpZM4SjrbF .

brettg0396 commented 6 years ago

Good to know, will try that in a bit.

On Sun, Apr 8, 2018, 8:27 PM almostepic89 notifications@github.com wrote:

In win 10 I had to modify the package.json file scripts so that "package" only ran the second command (remove the first part where it runs prepare), then i ran "install", "run build", "run package" each individually. It skips some commands which rely on a package which isnt built for windows and is skipped during the install command.

On Sun, Apr 8, 2018, 5:23 PM brettg0396 notifications@github.com wrote:

Yeah I'm at a loss myself. Initially tried doing this on win10 but this isn't my area of expertise either and I was running into some issues, so I just decided to play it safe and do it on Linux.

On Sun, Apr 8, 2018, 8:21 PM almostepic89 notifications@github.com wrote:

If thats the case then dont worry about uploading it. I'm building using Windows myself using node.js 6.? (Not at the computer at the moment but its which ever version was selected during the tutorial for the lambda server). I have noticed on rare occasion the alexa app doesn't show the json request/response but a reload of the page usually fixes it for me. I'm not very knowledgable in node.js (even the programming in JS I've been doing to add additional features is coming from my experience in PHP) so I'm not really sure I'd be able to help except to explain what I had to do to get it to build in Win 10.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <

https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595074

, or mute the thread <

https://github.com/notifications/unsubscribe-auth/AjAnOhLBY_uq0M7cS21Nvc3LDrvpYCCvks5tmqmWgaJpZM4SjrbF

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595237 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AMxZAaGLtkM6LUwzhfPYloHVVqwcqgNSks5tmqodgaJpZM4SjrbF

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-379595468, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOno6wwZNdEZSHosZlTKzknmvF7_wks5tmqrugaJpZM4SjrbF .

mongolianmiller commented 6 years ago

Following. I would decide to learn and implement this feature right after it doesn't work anymore. xD I should have looked at the issue list first.

BenStein1 commented 6 years ago

I just tested the change on line 58 to Radar.js and it indeed does work. Radarr api is connected again. Thanks folks for hunting that down. I wasn't sure where to start with that. I really appreciate the help.

brettg0396 commented 6 years ago

Could I get a copy of the functioning .zip? Idk if my build is having issues or what.

On Sat, May 12, 2018, 1:34 PM Ben Conner notifications@github.com wrote:

I just tested the change on line 58 to Radar.js and it indeed does work. Radarr api is connected again. Thanks folks for hunting that down. I wasn't sure where to start with that. I really appreciate the help.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-388581159, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOsNlpHNFsWga5UFNzSCxuPi9aU4kks5tx0dUgaJpZM4SjrbF .

BenStein1 commented 6 years ago

I just downloaded the latest compiled zip from here: https://github.com/josephschmitt/alexa-libby/releases/tag/v1.2.0

And replaced the dist/api/radar.js with the updated on from here: https://github.com/josephschmitt/alexa-libby/files/1844983/radarr.zip

I replaced my default.json with my personal config, re-zipped, and re-uploaded to lambda, and everything was working again.

brettg0396 commented 6 years ago

I'll be sure to try that.

On Sat, May 12, 2018, 1:40 PM Ben Conner notifications@github.com wrote:

I just downloaded the latest compiled zip from here: https://github.com/josephschmitt/alexa-libby/releases/tag/v1.2.0

And replaced the dist/api/radar.js with the updated on from here: https://github.com/josephschmitt/alexa-libby/files/1844983/radarr.zip

I replaced my default.json with my personal config, re-zipped, and re-uploaded to lambda, and everything was working again.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josephschmitt/alexa-libby/issues/25#issuecomment-388581508, or mute the thread https://github.com/notifications/unsubscribe-auth/AjAnOsjAfFTN4DvKvH1aY8DWwDHxWDLlks5tx0i7gaJpZM4SjrbF .