-
-

AskNavidrome Alexa Skill Documentation - TEST==

+
+

AskNavidrome Alexa Skill Documentation

AskNavidrome is an Alexa skill which allows you to play music hosted on a SubSonic API compatible media server, like Navidrome.

This allows to you stream your own music collection to your Echo devices without the restrictions you would normally face with regular streaming services like Amazon Music or Spotify. AskNavidrome allows you to:

@@ -102,43 +102,43 @@ behind a reverse proxy, the web service also needs to be publicly accessible on -

NaviSonicPlayMusicByArtist

+

NaviSonicPlayMusicByArtist

Play music by a specific artist

Play Where is my Mind by The Pixies

-

NaviSonicPlayAlbumByArtist

+

NaviSonicPlayAlbumByArtist

Play a specific album by a specific artist

Play The Blue Album by The Beatles

-

NaviSonicPlaySongByArtist

+

NaviSonicPlaySongByArtist

Play a specific song by a specific artist

Play the song Help by The Beatles

-

NaviSonicPlayPlaylist

+

NaviSonicPlayPlaylist

Play a playlist

Play the playlist work music

-

NaviSonicPlayMusicByGenre

+

NaviSonicPlayMusicByGenre

Play music with a specific genre

Play jazz music

-

NaviSonicPlayMusicRandom

+

NaviSonicPlayMusicRandom

Play a random mix of songs

Play random songs

-

NaviSonicPlayFavouriteSongs

+

NaviSonicPlayFavouriteSongs

Play your starred / favourite songs

Play my favourite songs

-

NaviSonicSongDetails

+

NaviSonicSongDetails

Give details on the playing track

What is playing

-

NaviSonicStarSong

+

NaviSonicStarSong

Star / favourite a song

Star this song

-

NaviSonicUnstarSong

+

NaviSonicUnstarSong

Unstar / unfavourite a song

Unstar this song

@@ -146,10 +146,10 @@ behind a reverse proxy, the web service also needs to be publicly accessible on

The following control intents are also supported:

Due to the way that Alexa skills operate there are some limitations. Full music Alexa skills require a catalog of content to be provided and this defeats the purpose of being able to search and stream from your own server directly. Because of this a custom skill type is used along with the AudioPlayer interface, @@ -450,8 +450,1625 @@ the entries will contain any errors that were thrown.

Code Documentation

-
-

AskNavidrome main

+
+

AskNavidrome main

+

Classes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

CheckAudioInterfaceHandler()

Check if device supports audio play.

GeneralExceptionHandler()

Handle general exceptions

HelpHandler()

Handle HelpIntent

LaunchRequestHandler()

Handle LaunchRequest and NavigateHomeIntent

LoggingRequestInterceptor()

Intercept all requests

LoggingResponseInterceptor()

Intercept all responses

NaviSonicPlayAlbumByArtist()

Handle NaviSonicPlayAlbumByArtist

NaviSonicPlayFavouriteSongs()

Handle the NaviSonicPlayFavouriteSongs intent

NaviSonicPlayMusicByArtist()

Handle NaviSonicPlayMusicByArtist

NaviSonicPlayMusicByGenre()

Play songs from the given genere

NaviSonicPlayMusicRandom()

Handle the NaviSonicPlayMusicRandom intent

NaviSonicPlayPlaylist()

Handle NaviSonicPlayPlaylist

NaviSonicPlaySongByArtist()

Handle the NaviSonicPlaySongByArtist intent

NaviSonicSongDetails()

Handle NaviSonicSongDetails Intent

NaviSonicStarSong()

Handle NaviSonicStarSong Intent

NaviSonicUnstarSong()

Handle NaviSonicUnstarSong Intent

NextPlaybackHandler()

Handle NextIntent

PausePlaybackHandler()

Handler for stopping audio.

PlaybackFailedEventHandler()

AudioPlayer.PlaybackFailed Directive received.

PlaybackFinishedHandler()

AudioPlayer.PlaybackFinished Directive received.

PlaybackNearlyFinishedHandler()

AudioPlayer.PlaybackNearlyFinished Directive received.

PlaybackStartedHandler()

AudioPlayer.PlaybackStarted Directive received.

PlaybackStoppedHandler()

AudioPlayer.PlaybackStopped Directive received.

PreviousPlaybackHandler()

Handle PreviousIntent

ResumePlaybackHandler()

Handler for resuming audio on different events.

SkillEventHandler()

Close session for skill events or when session ends.

SystemExceptionHandler()

Handle System.ExceptionEncountered

+

Functions:

+ + + + + + + + + + + + +

view_buffer()

View the contents of play_queue.buffer

view_history()

View the contents of play_queue.history

view_queue()

View the contents of play_queue.queue

+
+
+class app.CheckAudioInterfaceHandler
+

Check if device supports audio play.

+

This can be used as the first handler to be checked, before invoking +other handlers, thus making the skill respond to unsupported devices +without doing much processing.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.GeneralExceptionHandler
+

Handle general exceptions

+

Handles exceptions and prints error information +in the log

+

Methods:

+ + + + + + + + + +

can_handle(handler_input, exception)

Checks if the handler can support the exception raised during dispatch.

handle(handler_input, exception)

Process the handler input and exception.

+
+
+can_handle(handler_input: HandlerInput, exception: Exception) bool
+

Checks if the handler can support the exception raised +during dispatch.

+
+
Parameters:
+
    +
  • handler_input (HandlerInput) – Handler Input instance.

  • +
  • exception (Exception) – Exception raised during dispatch.

  • +
+
+
Returns:
+

Boolean whether handler can handle exception or not.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput, exception: Exception) Response
+

Process the handler input and exception.

+
+
Parameters:
+
    +
  • handler_input (HandlerInput) – Handler Input instance.

  • +
  • exception (Exception) – Exception raised during dispatch.

  • +
+
+
Returns:
+

Optional response object to serve as dispatch return.

+
+
Return type:
+

Union[None, Response]

+
+
+
+ +
+ +
+
+class app.HelpHandler
+

Handle HelpIntent

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.LaunchRequestHandler
+

Handle LaunchRequest and NavigateHomeIntent

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.LoggingRequestInterceptor
+

Intercept all requests

+

Intercepts all requests sent to the skill and prints them in the log

+

Methods:

+ + + + + + +

process(handler_input)

Process the input before the Handler is run.

+
+
+process(handler_input: HandlerInput)
+

Process the input before the Handler is run.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance.

+
+
Return type:
+

None

+
+
+
+ +
+ +
+
+class app.LoggingResponseInterceptor
+

Intercept all responses

+

Intercepts all responses sent from the skill and prints them in the log

+

Methods:

+ + + + + + +

process(handler_input, response)

Process the input and the response after the Handler is run.

+
+
+process(handler_input: HandlerInput, response: Response)
+

Process the input and the response after the Handler is run.

+
+
Parameters:
+
    +
  • handler_input (HandlerInput) – Handler Input instance.

  • +
  • response (Union[None, ask_sdk_model.response.Response]) – Execution result of the Handler on +handler input.

  • +
+
+
Return type:
+

None

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayAlbumByArtist
+

Handle NaviSonicPlayAlbumByArtist

+

Play a given album by a given artist

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayFavouriteSongs
+

Handle the NaviSonicPlayFavouriteSongs intent

+

Play all starred / liked songs, songs are automatically shuffled.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayMusicByArtist
+

Handle NaviSonicPlayMusicByArtist

+

Play a selection of songs for the given artist

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayMusicByGenre
+

Play songs from the given genere

+

50 tracks from the given genere are shuffled and played

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayMusicRandom
+

Handle the NaviSonicPlayMusicRandom intent

+

Play a random selection of music.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlayPlaylist
+

Handle NaviSonicPlayPlaylist

+

Play the given playlist

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicPlaySongByArtist
+

Handle the NaviSonicPlaySongByArtist intent

+

Play the given song by the given artist if it exists in the +collection.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicSongDetails
+

Handle NaviSonicSongDetails Intent

+

Returns information on the track that is currently playing

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicStarSong
+

Handle NaviSonicStarSong Intent

+

Star / favourite the current song

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NaviSonicUnstarSong
+

Handle NaviSonicUnstarSong Intent

+

Star / favourite the current song

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.NextPlaybackHandler
+

Handle NextIntent

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PausePlaybackHandler
+

Handler for stopping audio.

+

Handles Stop, Cancel and Pause Intents and PauseCommandIssued event.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PlaybackFailedEventHandler
+

AudioPlayer.PlaybackFailed Directive received.

+

Logging the error and restarting playing with no output speech.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PlaybackFinishedHandler
+

AudioPlayer.PlaybackFinished Directive received.

+

Confirming that the requested audio file completed playing. +Do not send any specific response.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PlaybackNearlyFinishedHandler
+

AudioPlayer.PlaybackNearlyFinished Directive received.

+

Replacing queue with the URL again. This should not happen on live streams.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PlaybackStartedHandler
+

AudioPlayer.PlaybackStarted Directive received.

+

Confirming that the requested audio file began playing. +Do not send any specific response.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PlaybackStoppedHandler
+

AudioPlayer.PlaybackStopped Directive received.

+

Confirming that the requested audio file stopped playing. +Do not send any specific response.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.PreviousPlaybackHandler
+

Handle PreviousIntent

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.ResumePlaybackHandler
+

Handler for resuming audio on different events.

+

Handles PlayAudio Intent, Resume Intent.

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.SkillEventHandler
+

Close session for skill events or when session ends.

+

Handler to handle session end or skill events (SkillEnabled, +SkillDisabled etc.)

+

Methods:

+ + + + + + + + + +

can_handle(handler_input)

Returns true if Request Handler can handle the Request inside Handler Input.

handle(handler_input)

Handles the Request inside handler input and provides a Response for dispatcher to return.

+
+
+can_handle(handler_input: HandlerInput) bool
+

Returns true if Request Handler can handle the Request +inside Handler Input.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Boolean value that tells the dispatcher if the +current request can be handled by this handler.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput) Response
+

Handles the Request inside handler input and provides a +Response for dispatcher to return.

+
+
Parameters:
+

handler_input (HandlerInput) – Handler Input instance with +Request Envelope containing Request.

+
+
Returns:
+

Response for the dispatcher to return or None

+
+
Return type:
+

Union[Response, None]

+
+
+
+ +
+ +
+
+class app.SystemExceptionHandler
+

Handle System.ExceptionEncountered

+

Handles exceptions and prints error information +in the log

+

Methods:

+ + + + + + + + + +

can_handle(handler_input, exception)

Checks if the handler can support the exception raised during dispatch.

handle(handler_input, exception)

Process the handler input and exception.

+
+
+can_handle(handler_input: HandlerInput, exception: Exception) bool
+

Checks if the handler can support the exception raised +during dispatch.

+
+
Parameters:
+
    +
  • handler_input (HandlerInput) – Handler Input instance.

  • +
  • exception (Exception) – Exception raised during dispatch.

  • +
+
+
Returns:
+

Boolean whether handler can handle exception or not.

+
+
Return type:
+

bool

+
+
+
+ +
+
+handle(handler_input: HandlerInput, exception: Exception) Response
+

Process the handler input and exception.

+
+
Parameters:
+
    +
  • handler_input (HandlerInput) – Handler Input instance.

  • +
  • exception (Exception) – Exception raised during dispatch.

  • +
+
+
Returns:
+

Optional response object to serve as dispatch return.

+
+
Return type:
+

Union[None, Response]

+
+
+
+ +
+ +
+
+app.view_buffer()
+

View the contents of play_queue.buffer

+

Creates a tabulated page contining the contents of the play_queue.buffer deque.

+
+ +
+
+app.view_history()
+

View the contents of play_queue.history

+

Creates a tabulated page contining the contents of the play_queue.history deque.

+
+ +
+
+app.view_queue()
+

View the contents of play_queue.queue

+

Creates a tabulated page contining the contents of the play_queue.queue deque.

+
+

AskNavidrome controller

@@ -1184,7 +2801,7 @@ is working