dbot/modules/badwords.js
2012-04-20 13:48:12 +01:00

57 lines
1.6 KiB
JavaScript

// Find which badwords are currently enacted in the current channel
var badwords = function(dbot) {
var name = 'badwords';
var dbot = dbot;
var badWordLock = false;
var commands = {
'~badwords': function(data, params) {
if(badWordLock == true) {
dbot.say('reality', 'Another badwords query is in action. Try again in a few seconds.');
} else {
data.channel = '#42';
badWordLock = true;
dbot.sessionData.badwords.waiting = true;
dbot.say('bots', 'badwords ' + data.channel + ' list');
dbot.instance.addListener('PRIVMSG',
dbot.sessionData.badwords = {};
badWordLock = false;
}
}
};
return {
'onLoad': function() {
if(!dbot.sessionData.hasOwnProperty('badwords')) {
dbot.sessionData.badwords = {};
}
return commands;
},
'listener': function(data) {
if(data.channel === 'bots') {
if(data.message.indexOf('bad words list is empty') != -1) {
dbot.sessionData.badwords.count = 0;
dbot.sessionData.badwords.finished = true;
} else {
var wordMatch = data.message.valMatch(/\w([1-10])\w(.*)/, 2);
dbot.say('reality', wordMatch[1]);
}
}
},
'on': 'PRIVMSG',
'name': name,
'ignorable': true
};
};
exports.fetch = function(dbot) {
return badwords(dbot);
};