Skip to content
This repository was archived by the owner on May 23, 2021. It is now read-only.

Commit 93413f4

Browse files
committed
Fixed almost all lint errors
1 parent 877e011 commit 93413f4

File tree

8 files changed

+144
-137
lines changed

8 files changed

+144
-137
lines changed

lib/bot.js

Lines changed: 63 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, util: false, __filename: false, __dirname: false */
1+
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, exports: false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, util: false, __filename: false, __dirname: false */
22

3-
var irc = require('irc');
4-
var timers = require('timers');
3+
var irc = require('irc'),
4+
timers = require('timers');
55

66
function Bot(settings) {
77
this.settings = settings;
8-
console.log('Connecting to IRC server ' + settings.irc.host + ' with nick ' +
9-
settings.irc.nick);
8+
console.log('Connecting to IRC server ' + settings.irc.host + ' with nick ' + settings.irc.nick);
109

1110

1211
this.irc = new irc.Client(settings.irc.host, settings.irc.nick, {
1312
channels: settings.irc.channels,
14-
password: settings.irc.password,
13+
password: settings.irc.password
1514
});
1615

1716
this.modules = [];
@@ -47,21 +46,22 @@ function Bot(settings) {
4746

4847
exports.Bot = Bot;
4948

50-
Bot.prototype.onQueueInterval = function (module) {
51-
if (this.queue[module].length > 0) {
52-
var item = this.queue[module][0];
49+
Bot.prototype.onQueueInterval = function (mod) {
50+
if (this.queue[mod].length > 0) {
51+
var item = this.queue[mod][0];
5352
this.irc.say(item.to, item.message);
54-
this.queue[module] = this.queue[module].slice(1);
53+
this.queue[mod] = this.queue[mod].slice(1);
5554
}
5655
};
5756

58-
Bot.prototype.onDigest = function (module) {
59-
var self = this;
60-
var interval = setInterval(function () {
61-
if (self.queue[module].length > 0) {
62-
var item = self.queue[module][0];
57+
Bot.prototype.onDigest = function (mod) {
58+
var self = this,
59+
item,
60+
interval = setInterval(function () {
61+
if (self.queue[mod].length > 0) {
62+
item = self.queue[mod][0];
6363
self.irc.say(item.to, item.message);
64-
self.queue[module] = self.queue[module].slice(1);
64+
self.queue[mod] = self.queue[mod].slice(1);
6565
}
6666
else {
6767
clearInterval(interval);
@@ -71,81 +71,91 @@ Bot.prototype.onDigest = function (module) {
7171

7272
Bot.prototype.onError = function(msg) {
7373
console.error('Error: %s: %s', msg.command, msg.args.join(' '));
74-
}
74+
};
7575

7676
Bot.prototype.onMessage = function(from, to, msg) {
77-
if (route = this.findRoute(msg)) {
78-
var obj = this;
79-
route.fun.apply(route.module, [from, msg, args, function(out) {
77+
var route = this.findRoute(msg),
78+
obj = this;
79+
if (route) {
80+
route.fun.apply(route.module, [from, msg, msg.args, function(out) {
8081
obj.queue[route.moduleName].push({to: to, message: out});
8182
}]);
8283
}
83-
}
84+
};
8485

8586
Bot.prototype.onPM = function(from, msg) {
86-
if (route = this.findRoute(msg)) {
87-
var obj = this;
88-
route.fun.apply(route.module, [from, msg, args, function(out) {
87+
var route = this.findRoute(msg),
88+
obj = this;
89+
if (route) {
90+
route.fun.apply(route.module, [from, msg, msg.args, function(out) {
8991
obj.queue[route.moduleName].push({to: from, message: out});
9092
}]);
9193
}
92-
}
94+
};
9395

94-
Bot.prototype.loadModules = function() {
95-
var self = this;
96+
Bot.prototype.loadModules = function(){
97+
var self = this,
98+
mod,
99+
settings,
100+
i,
101+
module_,
102+
m,
103+
interval;
96104

97-
for (module in this.settings.modules) {
98-
var settings = this.settings.modules[module];
99-
m = require('./modules/' + module).Module;
100-
this.modules[module] = new m(settings);
105+
for (mod in this.settings.modules) { if(this.settings.modules.hasOwnProperty(mod)) {
106+
settings = this.settings.modules[mod];
107+
m = require('./modules/' + mod).Module;
108+
this.modules[mod] = new m(settings);
101109

102-
this.queue[module] = [];
110+
this.queue[mod] = [];
103111

104112
if (settings.__digest) {
105113
setInterval(
106-
function (module) { self.onDigest(module); },
114+
function (mod) { self.onDigest(mod); },
107115
settings.__digest,
108-
module
116+
mod
109117
);
110118
}
111119
else {
112120
setInterval(
113-
function (module) { self.onQueueInterval(module) },
121+
function (mod) { self.onQueueInterval(mod); },
114122
settings.__interval || this.settings.interval,
115-
module
123+
mod
116124
);
117125
}
118126

119-
for (var i in this.modules[module].intervals) {
120-
interval = this.modules[module].intervals[i];
127+
for (i in this.modules[mod].intervals) { if(this.modules[mod].intervals.hasOwnProperty(i)) {
128+
interval = this.modules[mod].intervals[i];
121129

122-
var module_ = module;
123-
this.intervals[module] = timers.setInterval(interval[0], interval[1],
130+
module_ = mod;
131+
this.intervals[mod] = timers.setInterval(interval[0], interval[1],
124132
function(output) {
125133
self.settings.irc.channels.forEach(function (channel) {
126134
self.queue[module_].push({to: channel, message: output});
127135
});
128136
});
129-
}
130-
}
131-
}
137+
}}
138+
}}
139+
};
132140

133141
Bot.prototype.findRoute = function(msg) {
134-
if (msg[0] == "!") {
142+
var route, mod, key, i, args;
143+
if (msg[0] === "!") {
135144
msg = msg.substr(1);
136-
for (key in this.modules) {
137-
module = this.modules[key];
138-
for (i in module.routes) {
139-
route = module.routes[i];
140-
if (args = route[0].exec(msg)) {
145+
for (key in this.modules) { if(this.modules.hasOwnProperty(key)){
146+
mod = this.modules[key];
147+
for (i in mod.routes) { if(mod.routes.hasOwnProperty(i)){
148+
route = mod.routes[i];
149+
args = route[0].exec(msg);
150+
if (args) {
141151
return {
142152
fun: route[1],
143-
module: module,
153+
mod: mod,
144154
moduleName: key
145155
};
146156
}
147-
}
148-
}
157+
}}
158+
}}
149159
}
150-
}
160+
};
151161

lib/modules/docs.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, util: false, __filename: false, __dirname: false */
1+
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, exports:false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, util: false, __filename: false, __dirname: false */
22

33
function DocsModule(settings) {
44
this.settings = settings;
55
this.routes = [
66
[/^doc link ([a-z_]+)(#([a-zA-Z]+))?( (v[0-9]+\.[0-9]+\.[0-9]+))?/, this.onLink]
7-
]
7+
];
88
}
99

1010
exports.Module = DocsModule;
1111

1212
DocsModule.prototype.onLink = function(from, command, args, callback) {
13-
v = args[5] || 'latest';
14-
anchor = (args[3]) ? ('#' + args[1] + '.' + args[3]) : '';
13+
var v = args[5] || 'latest',
14+
anchor = (args[3]) ? ('#' + args[1] + '.' + args[3]) : '';
1515
callback('http://nodejs.org/docs/' + v + '/api/' + args[1] + '.html' + anchor);
16-
}
17-
16+
};

lib/modules/eval-jail.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
var vm = require('vm');
1+
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, exports: false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, util: false, __filename: false, __dirname: false, unescape:false */
22

3-
var code = unescape('%s');
3+
var vm = require('vm'),
4+
code = unescape('%s'),
5+
modules = {crypto: 1, events: 1, url: 1, assert: 1},
6+
context = {
7+
require: function (mod) {
8+
if (mod in modules) {
9+
return modules[mod];
10+
}
11+
throw new Error("Cannot find module '" + mod + "'");
12+
},
13+
setTimeout: setTimeout,
14+
setInterval: setInterval,
15+
clearTimeout: clearTimeout,
16+
clearInterval: clearInterval,
17+
console: console
18+
},
19+
mod;
420

5-
var modules = {crypto: 1, events: 1, url: 1, assert: 1};
6-
var context = {
7-
require: function (module) {
8-
if (module in modules) {
9-
return modules[module];
10-
}
11-
throw new Error("Cannot find module '" + module + "'");
12-
},
13-
setTimeout: setTimeout,
14-
setInterval: setInterval,
15-
clearTimeout: clearTimeout,
16-
clearInterval: clearInterval,
17-
console: console
18-
};
19-
20-
for (module in modules) {
21-
modules[module] = require(module);
22-
context[module] = modules[module];
23-
}
21+
for (mod in modules) { if(modules.hasOwnProperty(mod)) {
22+
modules[mod] = require(mod);
23+
context[mod] = modules[mod];
24+
}}
2425

2526
console.log(vm.runInNewContext(code, context));
26-

lib/modules/eval.js

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/*global Buffer: false, clearInterval: false, clearTimeout: false, console: false, global: false, exports: false, module: false, process: false, querystring: false, require: false, setInterval: false, setTimeout: false, __filename: false, __dirname: false, escape:false */
2+
13
var fs = require('fs'),
24
util = require('util'),
35
spawn = require('child_process').spawn;
@@ -8,22 +10,21 @@ function EvalModule(settings) {
810
this.settings.timeout = this.settings.timeout || 5000;
911
this.routes = [
1012
[/^eval (.+)/, this.onEval]
11-
]
13+
];
1214
}
1315

1416
exports.Module = EvalModule;
1517

1618
EvalModule.fileName = function (from) {
1719
return 'dmkbot-' + (new Date()).getTime().toString() + '-' +
1820
encodeURIComponent(from) + '-' + Math.random().toString() + '.js';
19-
}
21+
};
2022

2123
EvalModule.prototype.onEval = function(from, command, args, callback) {
2224
// This function uses eval-jail.js script, puts code in it, copies it to
2325
// prefix directory (usually /tmp) and executes.
24-
var self = this;
25-
26-
var code = args[1];
26+
var self = this,
27+
code = args[1];
2728
console.log(from + " requested evaluation of '" + code + "'");
2829
fs.readFile(__dirname + '/eval-jail.js', 'utf-8', function (err, data) {
2930
if (err) {
@@ -38,18 +39,16 @@ EvalModule.prototype.onEval = function(from, command, args, callback) {
3839
return callback('Something went terribly wrong (cannot write jail script)');
3940
}
4041

41-
var node = spawn('node', [fileName]);
42-
43-
var t = setTimeout(function () {
44-
callback('Timeout.');
45-
node.kill();
46-
}, self.settings.timeout);
47-
48-
var splitter = function (data) {
49-
data.toString().split("\n").filter(
50-
function (d) { return d != ""; }).forEach(callback);
51-
// data would be outputed with empty line at the end, so we filter it
52-
};
42+
var node = spawn('node', [fileName]),
43+
t = setTimeout(function () {
44+
callback('Timeout.');
45+
node.kill();
46+
}, self.settings.timeout),
47+
splitter = function (data) {
48+
data.toString().split("\n").filter(
49+
function (d) { return d !== ""; }).forEach(callback);
50+
// data would be outputed with empty line at the end, so we filter it
51+
};
5352

5453
node.stdout.on('data', splitter);
5554
if (self.settings.stderr) {
@@ -64,5 +63,4 @@ EvalModule.prototype.onEval = function(from, command, args, callback) {
6463
});
6564
});
6665
});
67-
}
68-
66+
};

0 commit comments

Comments
 (0)