BotTalk: Einfache Alexa Skill Entwicklung

Heute möchte ich euch einen kleinen Dienst vorstellen mit dem ihr durch die Hilfe einer einfachen Markup-Sprache Alexa Skills und auch Google Actions erstellen könnt. Ich habe bereits in einigen Beiträgen gezeigt, wie ihr euren eigenen Alexa Skill zum Beispiel mit .NET entwickeln könnt, aber hierfür musst man Visual Studio installiert haben und auch sonst einige Vorbereitungen tätigen. Mit BotTalk könnt ihr nun ganz bequem euren Skill im Browser erstellen und ich möchte euch nun zeigen, wie das funktioniert.

Der Einstieg in BotTalk erfolgt über die Webseite https://bottalk.de und im oberen rechten Bereich können wir uns über den Button Sign Up registrieren oder falls bereits ein Konto vorhanden ist über Login einloggen.

Für die Registrierung ist nur die Angabe einer eMail-Adresse und einem Passwort notwendig. Über einen Klick auf Create an Account erstellt ihr nun euren persönlichen Account, um direkt loslegen zu können.


Ihr erhaltet sofort einen eMail-Bestätigung und müsst nur noch auf den Verify Me Link in der eMail klicken. Anschließend werden ihr automatisch in BotTalk eingeloggt und seht euer leeres Dashboard.

Wir wollen nun unseren ersten Skill erstellen und starten daher über den Button Create new scenario in der Mitte des Dashboards. Im ersten Schritt vergeben wir einen Namen für unseren Skill und wählen die verwendete Sprache.

Im zweiten Schritt können wir nun eine Vorlage für unseren Skill auswählen. Wir können mit einer leeren Vorlage beginnen oder aus einer der zahlreichen Beispiele wählen. Für mein Beispiel wählen wir Dog Facts als Vorlage und bestätigen mit einen Klick auf Next.

Im letzten Schritt erhalten wir noch einmal eine kurze Zusammenfassung mit unseren getätigten Angaben. Sollte alles stimmen, könnt ihr euren Skill nun über Finish creation erzeugen und anschließend im Editor über einen Button-Klick öffnen.

Nun können wir beginnen unsere Vorlage zu editieren. Dazu verschaffen wir uns zunächst einen Überblick über die aktuelle Umsetzung.

Im oberen Bereich seht ihr zunächst ein paar Meta-Daten. Welche Dateien gehören zu eurem Skill, wie heißt euer Skill, wie kann man den Skill öffnen und welche Sprache wird unterstützt.

Der eigentliche Skill ist im Bereich steps abgebildet und beginnt mit dem Initial step. Hier wird ein zufälliger Text aus der Liste ausgegeben.

- name: 'Initial step'
  actions:
    - sendText: '{{ random(["Wusstest du, dass… ", 
          "Hmm… Lass uns schauen... ", 
          "Du hättest bestimmt nie gedacht, dass… ", 
          "Unglaublich, aber wahr… "]) }}'
  next: Api Request

Nachdem nun also der Text ausgegeben wurde, wir zum nächsten Schritt Api Request gewechselt. Hier wird nun ein Web-Request gegen eine API abgesendet, die als Ergebnis einen Fakt über Hunde liefert. Es wird der erste Eintrag aus der Liste Facts genommen und in der Variablen fact gespeichert und mit dem Schritt Read Fact weitergemacht.

- name: 'Api Request'
  actions:
    - getUrl: 
        url: 'https://tronaltdumb.herokuapp.com/hundewissen'
    - setContext:
        from: '{{ urlResponse.facts[0] | replace({"\"": ""}) }}'
        to: fact
  next: Read Fact

Nun wir der entsprechende Fakt ausgegeben und im Anschluss eine Rückfrage gestellt, ob der Nutzer einen weiteren Fakt hören möchte. Danach wird auf eine Nutzereingabe gewartet und entsprechend mit einem weiteren Fakt, einem Hilfe-Text oder dem Beenden des Skills fortgefahren.

- name: 'Read Fact'
  actions:
    - sendText: '{{ fact }} '
    - sendText: '{{ random(["Nächster Fakt?", 
        "Weiter?", 
        "Willst du mehr verrückten Fakten hören?", 
        "Mehr Fakten?"]) }}'	
    - getInput:
  next: 
    yes_next: Api Request
    no_thanks: Exit
    AMAZON.CancelIntent: Exit
    AMAZON.StopIntent: Exit
    AMAZON.HelpIntent: help step

Jetzt stellt man sich die Frage, was genau yes_next und no_thanks als Eingabeoptionen beinhalten. Dieses kann man in der Datei intents.yml nachschlagen, welche über den Link Intents angezeigt wird.

Im Abschnitt Test könnt ihr nun euren Skill im Browser testen. Dazu einfach den Button Run anklicken und der jeweilige Test wird ausgeführt. Im Tab Create könnt ihr über den Link Tests auch eure eigenen Tests anlegen und so euren persönlichen Skill testen.

Wie ihr euren Skill nun auf euer Alexa-Device bekommt, werde ich euch im nächsten Beitrag zum Thema BotTalk zeigen.

#Hackschool – Alexa Skill Entwicklung Alexa-Skill mit Storyline entwickeln Event-Tipp: Alexa, mach‘ den Abwasch – Meetup in Pforzheim