Abstraktes Header-Bild in den Farben von tsjdev apps

Blogbeitrag

Alexa Skills mit .NET entwickeln

Ich habe ja bereits gezeigt, wie man mit wenig Aufwand seinen eigenen Skill für Alexa entwickeln kann. Mittlerweile habe ich schon selbst einige Alexa-Skills veröffentlicht und habe mir eine kleine Projekt-Vorlage gebastelt, welche die Erstellung eines eigenen Skills um ein Vielfaches beschleunigt. Diese Vorlage findet man in einem GitHub-Repository und kann sich dort eine Zip-Datei herunterladen , welche man dann nur noch in das Vorlagenverzeichnis von Visual Studio speichern muss und anschließend kann die Entwicklung des Skills losgehen.

Es empfiehlt sich die kostenlose Erweiterung AWS Toolkit von Amazon für Visual Studio zu installieren, damit ihr euren Skill direkt aus Visual Studio hochladen könnt.

Nachdem ihr die Zip-Datei an den richtigen Ort kopiert habt, habt ihr bei der Projekt-Auswahl einen neuen Eintrag Alexa Skill .NET bei den Vorschlägen. Dieses beinhaltet alles, um euren ersten eigenen Skill zu schreiben.

Nachdem ihr ein neues Projekt angelegt habt, stehen euch verschiedene Extension Methods, Services und ein Basis-Aufbau für euren Skill zur Verfügung.

Der Einstiegspunkt ist in der Datei Function.cs und hier gibt es in der Vorlage nur die Methode FunctionHandler, welche bereits die notwendigen Intents (Stop, Cancel, Help) und den Launch-Intent verarbeitet. Hierfür müssen in der Datei MessageService.cs nur noch die entsprechenden Messages eingefügt werden.

public SkillResponse FunctionHandler(SkillRequest input, 
    ILambdaContext context)
{
    var requestType = input.GetRequestType();

    if (requestType == typeof(LaunchRequest))
    {
        return ResponseService.
            CreatePlainTextSkillResponse(MessagesService.
                GetLaunchMessage(), false);
    }

    if (requestType == typeof(IntentRequest))
    {
        if (!(input.Request is IntentRequest intentRequest))
            return ResponseService.
                CreatePlainTextSkillResponse(MessagesService.
                    GetErrorMessage(), true);

        switch (intentRequest.Intent.Name)
        {
            case Statics.AmazonHelpIntent:
                return ResponseService.
                    CreatePlainTextSkillResponse(MessagesService.
                        GetHelpMessage(), false);
            case Statics.AmazonCancelIntent:
            case Statics.AmazonStopIntent:
                return ResponseService.
                    CreatePlainTextSkillResponse(MessagesService.
                        GetStopOrCancelMessage(), true);
            default:
                return ResponseService.
                    CreatePlainTextSkillResponse(MessagesService.
                        GetHelpMessage(), false);
        }
    }

    return ResponseService.
        CreatePlainTextSkillResponse(MessagesService.
            GetErrorMessage(), true);
}

Ich wünsche nun viel Spaß bei der Erstellung eures eigenen Skills und bei Wünschen für eine kommende Version könnt ihr auf GitHub einfach einen Issue anlegen.

Weiterempfehlen

Diesen Beitrag teilen

Wenn dir der Beitrag gefallen hat: gern weiterreichen. Gute Links dürfen sich ruhig schnell verbreiten.

Vorheriger/Nächster Beitrag

Wie bin ich eigentlich zum Programmieren gekommen? Vorheriger Beitrag Wie bin ich eigentlich zum Programmieren gekommen? Nikolaus-Hackathon in Karlsruhe Nächster Beitrag Nikolaus-Hackathon in Karlsruhe
Alexa: Amazon Developer Account anlegen Alexa: Amazon Developer Account anlegen BotTalk: Skill zu Amazon hochladen BotTalk: Skill zu Amazon hochladen BotTalk: Einfache Alexa Skill Entwicklung BotTalk: Einfache Alexa Skill Entwicklung Alexa Skills mit Azure Functions Alexa Skills mit Azure Functions
Lust auf ein kurzes digitales Hallo? Wenn du eine Idee teilen, eine Frage loswerden oder ein Projekt anschieben willst: mein Posteingang ist deutlich zuverlässiger als Brieftauben. apps@tsjdev-apps.de Mail schicken