|
@@ -61,7 +61,11 @@ var fs = require('fs'),
|
|
|
messages: {
|
|
|
quit: 'Server closed'
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
+ origins: [
|
|
|
+ ['O','OmnomIRC'],
|
|
|
+ ['#','IRC']
|
|
|
+ ]
|
|
|
},
|
|
|
i,
|
|
|
options;
|
|
@@ -78,8 +82,10 @@ var fs = require('fs'),
|
|
|
return defaults
|
|
|
})(options,defaults);
|
|
|
}catch(e){
|
|
|
- logger.warn('Using default settings. Please create options.json');
|
|
|
+ console.warn('Using default settings. Please create options.json');
|
|
|
+ console.error(e);
|
|
|
}
|
|
|
+ defaults.origins.unshift(['S','Server'],['?','Unknown']);
|
|
|
options = {};
|
|
|
for(i in defaults){
|
|
|
Object.defineProperty(options,i,{
|
|
@@ -89,7 +95,15 @@ var fs = require('fs'),
|
|
|
});
|
|
|
}
|
|
|
return options;
|
|
|
- })();
|
|
|
+ })(),
|
|
|
+ origin = function(name){
|
|
|
+ for(var i in options.origins){
|
|
|
+ if(options.origins[i][1] == name){
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ };
|
|
|
if(typeof fs.existsSync == 'undefined') fs.existsSync = path.existsSync;
|
|
|
if(cluster.isMaster){
|
|
|
var iWorker;
|
|
@@ -134,7 +148,7 @@ if(cluster.isMaster){
|
|
|
process.on('message',function(msg){
|
|
|
var c = msg[0];
|
|
|
msg = msg.substr(1);
|
|
|
- logger.debug('Child recieved command '+c+' with message '+msg);
|
|
|
+
|
|
|
switch(c){
|
|
|
case 'Q':
|
|
|
if(typeof app != 'undefined' && typeof irc == 'undefined'){
|
|
@@ -147,7 +161,7 @@ if(cluster.isMaster){
|
|
|
if(typeof irc != 'undefined'){
|
|
|
msg = JSON.parse(msg);
|
|
|
if(msg.message){
|
|
|
- irc.say(msg.room,'<'+msg.from+'> '+msg.message);
|
|
|
+ irc.say(msg.room,'('+options.origins[msg.origin][0]+')'+'<'+msg.from+'> '+msg.message);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -158,12 +172,19 @@ if(cluster.isMaster){
|
|
|
logger.info('Connected to IRC');
|
|
|
for(var i in options.irc.channels){
|
|
|
irc.join(options.irc.channels[i]);
|
|
|
+
|
|
|
}
|
|
|
});
|
|
|
irc.on('CHANMSG',function(d){
|
|
|
console.log(d);
|
|
|
- message(d.reciever,d.sender,d.message);
|
|
|
+ message(d.reciever,d.sender,d.message,origin('IRC'));
|
|
|
});
|
|
|
+
|
|
|
+
|
|
|
+ for(var i in nicks){
|
|
|
+ logger.debug('[NICKS] Channel '+chan+' '+nicks[i]);
|
|
|
+ }
|
|
|
+ });*/
|
|
|
irc.connect();
|
|
|
logger.debug('Connecting to IRC');
|
|
|
break;
|
|
@@ -265,7 +286,8 @@ if(cluster.isMaster){
|
|
|
},
|
|
|
returnCode: 200,
|
|
|
vm: vm,
|
|
|
- fs: fs
|
|
|
+ fs: fs,
|
|
|
+ options: options
|
|
|
};
|
|
|
vm.runInNewContext(data,sandbox,filepath);
|
|
|
res.writeHead(sandbox.returnCode,sandbox.head);
|
|
@@ -400,14 +422,15 @@ if(cluster.isMaster){
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- message = function(room,from,message,socket){
|
|
|
+ message = function(room,from,message,origin,socket){
|
|
|
if(typeof socket == 'undefined'){
|
|
|
socket = io.sockets.in(room);
|
|
|
}
|
|
|
socket.emit('message',{
|
|
|
message: message,
|
|
|
room: room,
|
|
|
- from: from
|
|
|
+ from: from,
|
|
|
+ origin: origin
|
|
|
})
|
|
|
},
|
|
|
fromServer = function(room,message,socket){
|
|
@@ -417,7 +440,8 @@ if(cluster.isMaster){
|
|
|
socket.emit('message',{
|
|
|
message: message,
|
|
|
room: room,
|
|
|
- from: 0
|
|
|
+ from: 0,
|
|
|
+ origin: 2
|
|
|
});
|
|
|
};
|
|
|
});
|