Bowen Feng
Published © LGPL

Movie History - Keep Your Movie Watching Footprint

An Alexa skill remembers your movie footprint.

IntermediateFull instructions provided20 hours684

Things used in this project

Story

Read more

Schematics

VUI

Code

Alexa Skill schema

JSON
Go to the Skill Builder, click on the code editor to see the skill schema. Here is the schema for Movie History.
{
  "intents": [
    {
      "name": "AddWatchedMovieIntent",
      "samples": [
        "I watched {movie} on {date} ",
        "I watched {movie}"
      ],
      "slots": [
        {
          "name": "movie",
          "type": "AMAZON.Movie",
          "samples": [
            "{movie}",
            "I watched {movie}",
            "I watched {movie} on {date}"
          ]
        },
        {
          "name": "date",
          "type": "AMAZON.DATE",
          "samples": [
            "on {date}",
            "{date}"
          ]
        }
      ]
    },
    {
      "name": "AMAZON.CancelIntent",
      "samples": []
    },
    {
      "name": "AMAZON.HelpIntent",
      "samples": []
    },
    {
      "name": "AMAZON.StopIntent",
      "samples": []
    },
    {
      "name": "InquiryMovieIntent",
      "samples": [
        "How many times did I watch {movie}",
        "When did I watch {movie}",
        "Have I watched {movie}",
        "Tell me the watch history of {movie}",
        "Find {movie}",
        "Inquiry {movie}"
      ],
      "slots": [
        {
          "name": "movie",
          "type": "AMAZON.Movie",
          "samples": [
            "{movie}"
          ]
        }
      ]
    },
    {
      "name": "MainMenuIntent",
      "samples": [
        "I want to {choice}",
        "I'd like to {choice}",
        "I'll {choice}",
        "Please {choice}",
        "{choice} please."
      ],
      "slots": [
        {
          "name": "choice",
          "type": "FUNCTION_CHOICE",
          "samples": []
        }
      ]
    },
    {
      "name": "TotalNumberIntent",
      "samples": [
        "Give me the total number",
        "I want to know the total number",
        "Tell me the total number",
        "Total number",
        "Tell me the number"
      ],
      "slots": []
    }
  ],
  "types": [
    {
      "name": "FUNCTION_CHOICE",
      "values": [
        {
          "id": null,
          "name": {
            "value": "Add New",
            "synonyms": []
          }
        },
        {
          "id": null,
          "name": {
            "value": "Review",
            "synonyms": []
          }
        },
        {
          "id": null,
          "name": {
            "value": "New",
            "synonyms": []
          }
        },
        {
          "id": null,
          "name": {
            "value": "Add",
            "synonyms": []
          }
        }
      ]
    }
  ],
  "prompts": [
    {
      "id": "Elicit.Intent-AddWatchedMovieIntent.IntentSlot-movie",
      "promptVersion": "1.0",
      "definitionVersion": "1.0",
      "variations": [
        {
          "type": "PlainText",
          "value": "Which movie?"
        }
      ]
    },
    {
      "id": "Elicit.Intent-AddWatchedMovieIntent.IntentSlot-date",
      "promptVersion": "1.0",
      "definitionVersion": "1.0",
      "variations": [
        {
          "type": "PlainText",
          "value": "When did you watch it?"
        },
        {
          "type": "PlainText",
          "value": "When did you watch the movie?"
        }
      ]
    },
    {
      "id": "Elicit.Intent-InquiryMovieIntent.IntentSlot-movie",
      "promptVersion": "1.0",
      "definitionVersion": "1.0",
      "variations": [
        {
          "type": "PlainText",
          "value": "Please tell me the movie name."
        },
        {
          "type": "PlainText",
          "value": "Please let me know the name of the movie"
        }
      ]
    }
  ],
  "dialog": {
    "version": "1.0",
    "intents": [
      {
        "name": "AddWatchedMovieIntent",
        "confirmationRequired": false,
        "prompts": {},
        "slots": [
          {
            "name": "movie",
            "type": "AMAZON.Movie",
            "elicitationRequired": true,
            "confirmationRequired": false,
            "prompts": {
              "elicit": "Elicit.Intent-AddWatchedMovieIntent.IntentSlot-movie"
            }
          },
          {
            "name": "date",
            "type": "AMAZON.DATE",
            "elicitationRequired": true,
            "confirmationRequired": false,
            "prompts": {
              "elicit": "Elicit.Intent-AddWatchedMovieIntent.IntentSlot-date"
            }
          }
        ]
      },
      {
        "name": "InquiryMovieIntent",
        "confirmationRequired": false,
        "prompts": {},
        "slots": [
          {
            "name": "movie",
            "type": "AMAZON.Movie",
            "elicitationRequired": true,
            "confirmationRequired": false,
            "prompts": {
              "elicit": "Elicit.Intent-InquiryMovieIntent.IntentSlot-movie"
            }
          }
        ]
      }
    ]
  }
}

Lambda function source code

Credits

Bowen Feng

Bowen Feng

0 projects • 13 followers
Professional software engineer Hardware hobbyist Strength training enthusiast

Comments