ciscospark-websocket-events
Version:
Cisco Spark Websocket Events
66 lines (49 loc) • 1.59 kB
JavaScript
/**
* Cisco Spark WebSocket example using BotKit
*/
var accessToken = process.env.SPARK_TOKEN;
if (!accessToken) {
console.log("No Cisco Spark access token found in env variable SPARK_TOKEN");
process.exit(2);
}
var PORT = process.env.PORT || 3000;
// Spark Websocket Intialization
var SparkWebSocket = require('ciscospark-websocket-events');
sparkwebsocket = new SparkWebSocket(accessToken);
sparkwebsocket.connect(function (err, res) {
if (!err) {
sparkwebsocket.setWebHookURL("http://localhost:" + PORT + "/ciscospark/receive");
}
else {
console.log("Error starting up websocket: " + err);
}
})
//////// Bot Kit //////
var Botkit = require('botkit');
var controller = Botkit.sparkbot({
debug: true,
log: true,
public_address: "https://localhost",
ciscospark_access_token: accessToken
});
var bot = controller.spawn({
});
controller.setupWebserver(PORT, function (err, webserver) {
//setup incoming webhook handler
webserver.post('/ciscospark/receive', function (req, res) {
res.sendStatus(200)
controller.handleWebhookPayload(req, res, bot);
});
});
//
// Bot custom logic
//
controller.hears('hello', 'direct_message,direct_mention', function (bot, message) {
bot.reply(message, 'Hi');
});
controller.on('direct_mention', function (bot, message) {
bot.reply(message, 'You mentioned me and said, "' + message.text + '"');
});
controller.on('direct_message', function (bot, message) {
bot.reply(message, 'I got your private message. You said, "' + message.text + '"');
});