Importing external modules. Heroku provides a port number for our server.
var reqhndlr=require('./ReqHndlr')
var fbdata=require('./FBconnector')
//define port
var port=process.env.PORT || 3000;
var http=require('http');
var fs=require("fs");
Start server from ReqHndlr module
//create server and listen to port
var app=http.createServer(function(req,res){
reqhndlr.handleReq(req,res)
}).listen(port);
Initiate the socket connection. If it fall backs to long-polling we can configure the polling duration time. We have set 5 seconds.
//socket creation
socket=require("socket.io");
io=socket.listen(app);
io.configure(function () {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 5);
});
When a new socket message arrives these sockets functions. Also we need to configure how to handle the mesage. That is, whether Gary bot intervention is needed or not.
//bind listeners to socket
io.sockets.on("connection",function(socket){
socket.on("eventA",function(data){
var data_json=JSON.parse(data.toString())
if(data_json.message.toString().trim().indexOf('@gary')==0){
//asking gary bot to comment
fbdata.setHtmldata(data_json,true)
}
else{
fbdata.setHtmldata(data_json,false)
}
});
});