First bot that does something
This commit is contained in:
parent
121b242fdc
commit
6abfd4e3a6
82
app.js
82
app.js
@ -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");
|
||||
});*/
|
Loading…
Reference in New Issue
Block a user