diff --git a/modules/kick/kick.js b/modules/kick/kick.js index 150fb55..3480583 100644 --- a/modules/kick/kick.js +++ b/modules/kick/kick.js @@ -1,3 +1,5 @@ +var _ = require('underscore')._; + var kick = function(dbot) { var commands = { // Give the number of times a given user has been kicked and has kicked @@ -5,27 +7,35 @@ var kick = function(dbot) { '~kickcount': function(event) { var username = event.params[1]; - if(!dbot.db.kicks.hasOwnProperty(username)) { + if(!_.has(dbot.db.kicks, username)) { var kicks = '0'; } else { var kicks = dbot.db.kicks[username]; } - if(!dbot.db.kickers.hasOwnProperty(username)) { + if(!_.has(dbot.db.kickers, username)) { var kicked = '0'; } else { var kicked = dbot.db.kickers[username]; } - event.reply(dbot.t('user_kicks', {'user': username, 'kicks': kicks, 'kicked': kicked})); + event.reply(dbot.t('user_kicks', { + 'user': username, + 'kicks': kicks, + 'kicked': kicked + })); }, // Output a list of the people who have been kicked the most and those // who have kicked other people the most. '~kickstats': function(event) { var orderedKickLeague = function(list, topWhat) { - var kickArr = Object.prototype.sort(list, function(key, obj) { return obj[key]; }); - kickArr = kickArr.slice(kickArr.length - 10).reverse(); + var kickArr = _.chain(list) + .pairs() + .sortBy(function(kick) { return kick[1] }) + .reverse() + .first(10) + .value(); var kickString = "Top " + topWhat + ": "; for(var i=0;i