Skip to content

Basic Alexa skill template for hackerschool event @ sipgate

Notifications You must be signed in to change notification settings

ironmaya/hackerschool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basis-Template für einen Alexa Skill für das Hackerschool-Event @sipgate

Voraussetzungen

  • npm

Vorbereitung

  1. Falls noch nicht vorhanden, installiere ask-cli:

    sudo npm install --global ask-cli
    
  2. Konfiguriere ask:

    ask init
    

    Folge den Anweisungen um deinen Amazon Developer- und AWS-Account zu verbinden (Um AWS-Credentials für ask zu erstellen, gehe nach der Anleitung vor, die hier zu finden ist)

  3. Passe die Region für dein AWS-Profil an:

    echo region=eu-west-1 | tee -a ~/.aws/credentials
    

    Die AWS-Lambda-Funktion, die von deinem Skill aufgerufen wird, soll in Irland (Region EU-West-1) gehostet werden.

Damit sind die allgemeinen Einstellungen abgeschlossen.

Los geht's mit deinem eigenen Skill

Um dir den Einstieg zu erleichtern, klone dieses Repository und wechsle in das Verzeichnis:

git clone https://github.com/ironmaya/hackerschool.git && cd hackerschool

Schon jetzt hast du einen voll funktionfähigen Alexa Skill. Um ihn zu deployen musst du nur noch einige Meta-Daten eintragen.

Skill-Manifest

In der Datei skill.json musst du die Platzhalter mit den spitzen Klammern ersetzten:

{
  "manifest": {
    "publishingInformation": {
      "locales": {
        "de-DE": {
          "summary": "<KURZBESCHREIBUNG>",
          "examplePhrases": [
            "<BEISPIEL-AUFRUFE>"
          ],
          "name": "<SKILL-NAME>",
          "description": "<BESCHREIBUNG>"
        }
      },
      "isAvailableWorldwide": true,
      "category": "<KATEGORIE>",
      "distributionCountries": []
    },
    "apis": {
      "custom": {
        "endpoint": {
          "sourceDir": "lambda/custom",
          "uri": "<NAME-FUER-LAMBDA-FUNKTION>"
        }
      }
    },
    "manifestVersion": "1.0"
  }
}
Schlüssel Bedeutung Beispiel
summary Eine Kurzzusammenfassung deines Skills, die im Store angezeigt wird "Mein erster Alexa-Skill"
examplePhrases Eine Liste von Beispiel-Aufrufen deines Skills, die im Store angezeigt werden ["Alexa, öffne hackerschool",
"Alexa, sag hackerschool hallo"]
name Der Name deines Skills (nicht zu verwechseln mit dem invocationName, dem Aufruf-Namen der bestimmt, wie der Skill aufgerufen werden kann) "hackerschool-skill"
description Eine Beschreibung deines Skills, die im Store angezeigt wird "Diesen Skill haben ich bei der Hackerschool gebaut. Wenn man ihn begrüßt, grüßt er zurück."
category Die Kategorie, zu der dein Skill gehört (Achtung: hier sind nur bestimmte Werte erlaubt, siehe Dokumentation) "GAME"
uri In unserem Fall schlicht ein Name für die Lambda-Funktion "custom-hackerschool"

Zuletzt musst du noch dem Sprachmodell beibringen, auf welchen Namen (invocation name) dein Skill hören soll.

Invocation Name

In der Datei /models/de-DE.json musst du lediglich in Zeile 4 den invocationName eintragen. Achte darauf, dass der Name, nach deutschen Ausspracheregeln möglichst so klingt, wie du ihn sagen willst.

Damit ist der Skill fertig zum Deployen.

Deployment

Um nun deinen Skill zu deployen, also die Lambda-Funktion bei AWS hochzuladen und den Skill in die Alexa-Cloud, musst du folgenden Befehl ausführen:

   ask deploy

Das dauert dann einen Moment, und wenn alles gut läuft, steht am Ende auf der Konsole

   Your skill is now deployed and enabled in the development stage. Try simulate your Alexa skill skill using "ask dialog" command.

Danach kannst du mit dem Befehl

   ask dialog --locale de-DE

zum Testen deines Skills ein Gespräch mit Alexa über die Kommandozeile beginnen. Alternativ kann du natürlich auch mit einem Echo-Gerät testen, das im gleichen Amazon Account angemeldet ist.

Herzlichen Glückwunsch! Wenn du alles richtig gemacht hast, ist dein erster Alexa Skill nun einsatzbereit. Sag doch mal: "Alexa, sag <InvocationName deines Skills> hallo"

Skill verändern

//TODO

About

Basic Alexa skill template for hackerschool event @ sipgate

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published