commit 9fd2b8f149ba591293a9e067b1fcc2e0b6dde55c
parent 8a151fd00add2134b2cb3301d098ef4036f03e00
Author: Marcel Radzio <marcel@radzio-sh.de>
Date: Sat, 12 Dec 2015 20:47:37 +0100
add Autoupdater
Diffstat:
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/handlers/irc.js b/handlers/irc.js
@@ -9,6 +9,9 @@ var bot = new irc.Client('irc.lugfl.de', 'NordlabBot', {
var request = require('request');
var command_config = require("../commands.json");
module.exports = {
+ ircEndCustom: function (meassage){
+ bot.disconnect(meassage);
+ },
ircPreload: function (){
bot.addListener('error', function(message) {
setTimeout(function() {
diff --git a/main.js b/main.js
@@ -1,4 +1,6 @@
var request = require('request');
+var git = require('simple-git');
+var schedule = require('node-schedule');
//LOAD MODULES DOWN HERE
var pushbullet = require('./handlers/pushbullet.js');
var irc = require('./handlers/irc.js');
@@ -61,4 +63,13 @@ request.get('http://www.nordlab-ev.de/doorstate/status.txt', function (error, re
}).setMaxListeners(0);
}
irc.ircBotCommands();
+var j = schedule.scheduleJob('* 2 * * *', function(){
+ console.log('Start Update!');
+ bot.ircEndCustom('Start Update! Coming back in a few Senconds!');
+ git.pull(function(err, update) {
+ if(update && update.summary.changes) {
+ require('child_process').exec('npm restart');
+ }
+ });
+});
setTimeout(function() { MakePush(); }, 20000);
\ No newline at end of file
diff --git a/package.json b/package.json
@@ -22,7 +22,9 @@
"dependencies": {
"request": "*",
"curlrequest": "*",
- "irc": "0.4.0"
+ "irc": "0.4.0",
+ "simple-git": "*",
+ "node-schedule": "*"
},
"preferGlobal": false,
"private": true,