First bot that does something

This commit is contained in:
Arti Zirk 2016-12-31 06:35:25 +02:00
parent 121b242fdc
commit 6abfd4e3a6
1 changed files with 82 additions and 0 deletions

82
app.js
View File

@ -0,0 +1,82 @@
var restify = require('restify');
var builder = require('botbuilder');
//=========================================================
// Bot Setup
//=========================================================
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create chat bot
var connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
server.post('/api/messages', connector.listen());
//=========================================================
// Bots Dialogs
//=========================================================
var addresses = new Set()
var intents = new builder.IntentDialog();
bot.dialog('/', intents);
intents.matches(/register/i, [
function (session) {
var address = JSON.stringify(session.message.address);
if (addresses.has(address)){
session.send("Already registered");
} else {
addresses.add(address);
session.send("Chat registered");
}
},
]);
/*intents.matches(/./, [
function(session, args, next) {
console.log("Matched all commands: %j", args);
session.send("Matched all commands:");
}
]);*/
intents.onDefault([
function (session, args, next) {
session.send("Hi, this command is invalid, maybe try: register command")
}
]);
server.use(restify.bodyParser());
server.post('/api/notify', function (req, res) {
// Process posted notification
var notification = req.body.notification;
console.log("sending message %j", notification)
console.log(req.getContentType())
for (var address of addresses) {
var address = JSON.parse(address);
// Send notification as a proactive message
var msg = new builder.Message()
.address(address)
.text(notification);
bot.send(msg);
}
res.end();
});
/*
bot.dialog('/register', function (session) {
var address = JSON.stringify(session.message.address);
if addresses.has(address){
session.send("Already registered")
}
addresses.add()
session.send("Hello World");
});*/