This commit is contained in:
reality 2017-07-18 02:51:45 +00:00
parent d41836e937
commit 0d2d00635c

View File

@ -92,16 +92,48 @@ var karma = function(dbot) {
event.reply(qString.slice(0, -2)); event.reply(qString.slice(0, -2));
}); });
},
'wattest': function(event) {
var karmas = {};
this.db.scan('karma', function(karma) {
if(karma && !_.isUndefined(karma.item)) {
if(karma.item.match(/_wat$/)) {
karmas[karma.item] = karma.karma;
} }
}
}.bind(this), function(err) {
var qSizes = _.chain(karmas)
.pairs()
.sortBy(function(category) { return category[1]; })
.reverse()
.first(10)
.value();
var qString = 'Karmaiest: ';
for(var i=0;i<qSizes.length;i++) {
qString += qSizes[i][0] + " (" + qSizes[i][1] + "), ";
}
event.reply(qString.slice(0, -2));
});
}
}; };
this.commands.setkarma.access = 'admin'; this.commands.setkarma.access = 'admin';
this.listener = function(event) { this.listener = function(event) {
dbot.api.ignore.isUserBanned(event.rUser, 'karma', function(isBanned) {
if(!isBanned) {
var match = event.message.match(/^(.+)(\+\+|\-\-)$/); var match = event.message.match(/^(.+)(\+\+|\-\-)$/);
if(event.user !== dbot.config.name && match && match[1].length < 25) { if(event.user !== dbot.config.name && match && match[1].length < 25) {
match[1] = match[1].replace(/(\+|\-)/g,'').replace(/:/g,'').trim(); match[1] = match[1].replace(/(\+|\-)/g,'').replace(/:/g,'').trim();
if(_.has(this.lastKarma, event.rUser.id) && this.lastKarma[event.rUser.id] + 5000 > Date.now()) { var timeout = 5000;
/* if(event.channel.name == '#stims' || event.channel.name == '##meth' || event.channel.name == '##sweden') {
timeout = 20000;
}*/
if(_.has(this.lastKarma, event.rUser.id) && this.lastKarma[event.rUser.id]+ timeout > Date.now()) {
return event.reply('Try again in a few seconds : - )'); return event.reply('Try again in a few seconds : - )');
} else if(event.rUser.currentNick.toLowerCase() === match[1].toLowerCase() || event.rUser.primaryNick.toLowerCase() === match[1].toLowerCase()) { } else if(event.rUser.currentNick.toLowerCase() === match[1].toLowerCase() || event.rUser.primaryNick.toLowerCase() === match[1].toLowerCase()) {
return event.reply('Stop playing with yourself : - )'); return event.reply('Stop playing with yourself : - )');
@ -109,6 +141,11 @@ var karma = function(dbot) {
return event.reply('Don\'t be a Secretive Sally : - )'); return event.reply('Don\'t be a Secretive Sally : - )');
} }
if(event.channel.name == '##wat') {
match[1] = match[1].replace(/_wat$/, '');
match[1] += '_wat';
}
this.internalAPI.getKarma(match[1], function(err, karma) { this.internalAPI.getKarma(match[1], function(err, karma) {
if(!karma) { if(!karma) {
karma = 0; karma = 0;
@ -117,10 +154,18 @@ var karma = function(dbot) {
} }
if(match[2] === '--') { if(match[2] === '--') {
if(match[1].toLowerCase() =='weed') {
karma -= 2;
} else {
karma -= 1; karma -= 1;
}
} else {
if(match[1].toLowerCase() == 'weed') {
karma += 2;
} else { } else {
karma += 1; karma += 1;
} }
}
this.internalAPI.setKarma(match[1], karma, function(err, karma) { this.internalAPI.setKarma(match[1], karma, function(err, karma) {
this.lastKarma[event.rUser.id] = Date.now(); this.lastKarma[event.rUser.id] = Date.now();
@ -145,6 +190,8 @@ var karma = function(dbot) {
}.bind(this)); }.bind(this));
}.bind(this)); }.bind(this));
} }
}
}.bind(this));
}.bind(this); }.bind(this);
this.on = 'PRIVMSG'; this.on = 'PRIVMSG';
}; };