-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
49 lines (39 loc) · 1.56 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'use strict';
var Alexa = require("alexa-sdk");
var appId = 'amzn1.ask.skill.caa93b39-97a4-4746-9451-1f6b2427c016'; //'amzn1.echo-sdk-ams.app.your-skill-id';
var aws = require('aws-sdk');
var s3 = new aws.S3();
var newSessionHandlers = {
//neccessery fallback function do not delete
'Unhandled': function () {
this.emit(':ask', 'ERROR Unhandled Session');
},
'GPIOControlIntent': function () {
var obj = {
table: []
};
var pin = this.event.request.intent.slots.pin.value.toLowerCase(),
status = this.event.request.intent.slots.status.value.toLowerCase();
obj.table.push({pin: pin, state: status});
var json = JSON.stringify(obj);
let params = {
Bucket: 'gpiocontroll', // your bucket name,
Key: 'test.txt', // name of your file
Body: json
};
var putObjectPromise = s3.putObject(params).promise();
putObjectPromise.then((data) => {
console.log('Success');
this.emit(':tell', 'Ich habe den Pin ' + pin + ' auf ' + status + ' gesetzt.');
}, (err) => {
console.log(err);
this.emit(':tell', 'Es ist ein Fehler aufgetreten');
});
}
};
exports.handler = function (event, context, callback) {
var alexa = Alexa.handler(event, context);
alexa.appId = appId;
alexa.registerHandlers(newSessionHandlers); //add more handlers here, z.B.: alexa.registerHandlers(newSessionHandlers, guessModeHandlers, startGameHandlers, guessAttemptHandlers);
alexa.execute();
};