示例#1
0
stdin.addListener("data", function(d) {
    // note:  d is an object, and when converted to a string it will
    // end with a linefeed.  so we (rather crudely) account for that  
    // with toString() and then substring() 
	var str = d.toString().substring(0, d.length-1)
	mhal.addMass(str);
	mhal.save();
    console.log("Parsed line");
});
示例#2
0
client.addListener('message', function (from, to, message, messageObj) {
    var messageArr = message.split(" ");
	var commandStr = messageArr[0].substring(1);
	
    if ( message.charAt(0) == '+' ) {
		
		if ( commandStr == "reassemble" && checkForPermission(from,messageObj.host,'z') ){
			console.log(from + ' reassembled me!');
			
			loadModules();
			return;
		}
		
		var commandObj = getCommand(commandStr);
		if ( commandObj ){
			try {
				var dest;
				if ( !checkForPermission(from,messageObj.host,commandObj.permission) ){
					client.notice(from,"Access denied. Flag "+commandObj.permission+" is required.");
					return;
				}
				if (  commandObj.minParams && messageArr.length < commandObj.minParams+1 ){
					getCommand("help").func(from,to,from,['+help',commandStr],messageObj);
                    return;
				}

				console.log(from+" issued the command: "+messageArr);
				
				if ( commandObj.dest ){
					switch (commandObj.dest){
						case "source": dest = from; break;
						case "channel": {
							if ( to.charAt(0)=='#' ){
								dest = to;
								break;
							}
							else {
								client.notice(from,"Can't use this command outside a channel.");
								return;
							}
						}
						case "any":
						default: dest = to.charAt(0)=='#'?to:from; break;
					}
				} else {
					dest = to.charAt(0)=='#'?to:from;
				}

				commandObj.func(from,to,dest,messageArr,messageObj);
				//if ( message.length < 2 ) { _helpCmd(from, to, ["+help","names"]); return; }
			}catch(ex){
				console.log(ex);
			}
		}
    } else if ( message.indexOf(argv.nick) > -1 ) {
		var dest = to.charAt(0)=='#'?to:from;
		client.say(dest,mhal.getReplyFromSentence(message));
		
	} else if ( message.charAt(0) == '!') {
		
	} else {
		mhal.addMass(message);
		mhal.save();
	}

});