Automatisk dörröppnare kontrolleras genom SLACK (5 / 9 steg)
Steg 5: Komplett kod
var gpio = require("pi-gpio");
var pin = 11;
var slappa = require('slack-client');
var token = "SLACK_TOKEN", / / Lägg till en bot på https://my.slack.com/services/new/bot och kopiera token här.
autoReconnect = sant
automarken = sant;
var slappa = nya Slack (token, autoReconnect, automarken);
slack.on ("öppna", function() {
var unreads = slack.getUnreadCount();
Console.log ("Välkommen till Slack. Du är för %s', slack.self.name, slack.team.name);
});
/ * gpio * /
gpio.Close(PIN); Nära pin 16
gpio.Open (pin, "output", function(err) {/ / öppen stift 16 för utdata
gpio.write (pin, 1, function() {});
});
/ * Slack * /
slack.on ('meddelande', function(message) {
var typ = message.type,
kanal = slack.getChannelGroupOrDMByID(message.channel),
användare = slack.getUserByID(message.user),
tid = message.ts,
text = message.text,
svar = '';
om (användaren === odefinierad) {
/ * hoppa över kanal meddelanden (hoppa över de meddelanden som inte skickas till sesam direkt) * /
return true;
}
Console.log ("Received: %s %s %s" %s "", typ, (channel.is_channel? '#': '') + channel.name, user.name, tid, text);
om (typ === 'meddelande') {
om (text === "öppna") {
openDoor(doorTimeout);
svar = 'ok';
Channel.send(Response);
Console.log ("svarade med" %s "", slack.self.name, svar);
}
}
});
slack.on ('fel', function(error) {
Console.error ("fel: %s', fel);
});
slack.Login();
/ * / slack * /
funktion openDoor() {
Console.log ("öppna kallas");
gpio.write (pin, 0, function() {});
setTimeout(function() {
gpio.write (pin, 1, function() {});
}, (1 * 1000));
}