Also ich bekomme mit deinem Code schon die Consolen-Ausgabe. Lediglich folgendes hat gefehlt:
Damit liest er den Text auch ein und schreibt ihn in eine Variable. Soweit so gut. Doch wenn man den Code dann in ein Projekt einfügt klappt es nicht mehr.
Ich habe einmal den blueprint '
alexa-skill-kit-sdk-factskill' hergenommen und stark gekürzt. Die Variable
FACTS wird vorgelesen. Gut. Dann den Code zum Einlesen einer Datei im WWW hinzugefügt - die Variable
FACTS sollte ersetzt werden - tut es aber nicht. Der Code zum Einlesen wird einfach ignoriert!
Ich habe viele verschiedene Varianten getestet und das ganze auch in eine Function gepackt. Hat alles nicht geholfen. Ich steh an.
Unten der Code. Der Inhalt in
FACTS ('
Test') sollte durch den Inhalt der Datei
http://www.beispiel.net/text.txt ersetzt werden. Was es leider nicht tut. Hat da noch jemand eine Idee?
Code: Alles auswählen
'use strict';
const Alexa = require('alexa-sdk');
var FACTS = 'Test';
var SKILL_NAME = 'Zum Ausprobieren';
var GET_FACT_MESSAGE = 'Hier der Inhalt: ';
var HELP_MESSAGE = 'Hilfe für den User';
var HELP_REPROMPT = 'Wie kann ich dir helfen?';
var STOP_MESSAGE = 'Auf Wiedersehen!';
var url= "http://www.beispiel.net/text.txt";
var http = require('http');
http.get(url, function(resp){
resp.setEncoding('utf8');
resp.on('data', function(chunk){
FACTS = chunk;
});
}).on("error", function(e){
console.log("Got error: " + e.message);
});
const handlers = {
'LaunchRequest': function () {
this.emit('GetFact');
},
'GetNewFactIntent': function () {
this.emit('GetFact');
},
'GetFact': function () {
// Create speech output
const speechOutput = FACTS;
this.emit(':tellWithCard', speechOutput, (SKILL_NAME));
},
'AMAZON.HelpIntent': function () {
const speechOutput = HELP_MESSAGE;
const reprompt = HELP_MESSAGE;
this.emit(':ask', speechOutput, reprompt);
},
'AMAZON.CancelIntent': function () {
this.emit(':tell', STOP_MESSAGE);
},
'AMAZON.StopIntent': function () {
this.emit(':tell', STOP_MESSAGE);
},
'SessionEndedRequest': function () {
this.emit(':tell', STOP_MESSAGE);
},
};
exports.handler = (event, context) => {
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
alexa.registerHandlers(handlers);
alexa.execute();
};